なぜJQueryはどこにでもドル記号があるのですか?


111

私はそれにかなりの数のJQueryを含むプロジェクトに取り組んでいます。JQueryはどこにでも多くの$記号を持っています。

$(document).ready(function () {
        $('input[type=file]').wl_File({
            url: '/Admin/PolicyInventory/UploadDocuments',
            onFileError: function (error, fileobj) {
                $.msg('file is not allowed: ' + fileobj.name, {
                    header: error.msg + ' Error ',
                    live: 10000
                });
            }
        });
...

私の質問は、このドル記号はどういう意味ですか?なぜそれが至る所で使われているのですか、そしてそれをどのように理解して解釈しますか 私が大学でSchemeを学んでいたときの恐ろしい日々を思い出し、なぜ私がそれをしているのか知らずにどこにでもブラケットを置く必要がありました。


19
これ$はjqueryオブジェクトのエイリアスです
Lee

55
驚か

2
stackoverflow.com/questions/205853/… 知っておくべきことはすべて
揃っ


7
var $ = jQuery
アダム

回答:


166

$はのショートカットにすぎませんjQuery。(グローバル名前空間が途方もなく混雑しているため)すべてが1つのグローバルシンボルで行われるという考えですjQueryが、必要に$応じて(短いので)使用できます。

// These are the same barring your using noConflict (more below)
var divs = $("div");       // Find all divs
var divs = jQuery("div");  // Also find all divs, because
console.log($ === jQuery); // "true"

エイリアスを使用したくない場合は、使用する必要はありません。また$、のエイリアスにしたくない場合は、ライブラリをjQuery使用noConflictして、$jQueryが引き継ぐ前の状態に復元できます。(PrototypeまたはMooToolsも使用している場合に便利です。)


12

これは単なる便利な文字であり、「jQuery」よりも入力が短く、読みやすいです。

リスクや名前の衝突を軽減する変数や関数の名前を開始するために伝統的に使用されないことを除いて、特別なことは何もありません。


1
PHPのような別の言語を使用して、HTMLdocsを使用してサイトにJavaScriptを設定しない限り、その時点でPHP ドル記号を使用してすべての変数を開始するため、そのドル記号すべてを破壊するという追加の目的を果たします。(jQueryスクリプトを広くネットで使用するために共有している場合、$ではなくjQueryを使用するのは親切な理由です)。
liljoshu

12

$記号はのエイリアスですjQuery。の短縮バージョンでjQuery、書き込みメカニズムが少なくなっています。

ほんの一例:(jQueryではより複雑です)

var yourFunction = function() {
    alert('a function');
}

window.Myf = yourFunction;

次のyourFunctionように呼び出すことができます:

Myf(); // definitely a short syntax

11

書き込み可能性とパフォーマンス


ライブラリまたはプログラミング言語に取り組んでいるときは、いくつかの書き込み可能ルールに注意を払う必要があります。jQueryのおかげで、すでに多くのオプションが実装されています。使用できる$か、使用できるjQueryか、使用できる_

(function (_) {
    _("#wow").click()
})(jQuery);

または多分あなたは派手な変更を行うことができます、あなたが使用できるようにJavaScript識別子はユニコードです Ω

(function (Ω) {
    Ω("#wow").click()
})(jQuery);

しかし、その背後にある主なアイデアは、キーボードを1回押すことは、入力することよりも優れています jQuery


一方、パフォーマンスがあります...プロジェクトの1つをランダムに開いて検索したところ、単一のJavaScriptファイルで$54を使用し$ました。

$ バイトです。

jQuery 6バイトです。

大きな違いは54 * 5 = 220バイトです。


反対票を投じている場合は、私が何を間違えたかをわがままに言わないでください。間違いがあれば修正できるように!
Ahmet CanGüven16年

速度に関する限り、220バイトは実際には大きな違いはありません。また、コードはV8 JSエンジン(または他のエンジン)を通過する必要があるため、220バイトを使用するだけでなく、さまざまなものに割り当てる量もわかりません。
ギャレットスミス

@GarrettSmith私はネットワーキングコストについて話していました。$またはjQueryの実行はほとんど同じです。
Ahmet CanGüven18年

6

グーグルはあなたの友達です: $記号JQuery

ドル記号は、JQueryの単なる別名です。

jQuery(document).ready(function(){});

または

$(document).ready(function(){});

4
参考:google.com.pk/…でも同じ検索結果が表示されるようです。これは、Googleが実際に$を検索用語として許可していないことを示しています
Max Nanasy

5

JavaScriptでは、$(1つのドル文字)が有効な変数名です。いくつかのフレームワーク(jQueryを含む)は、フレームワークが提供するトップレベルの便利なメソッドを含むオブジェクトの同義語としてそれを採用しています。


1

$記号はJqueryのエイリアスとして使用されます。jquery.hide、jquery.showを使用する代わりに、エイリアス$($ .hide)を使用できるすべての場所でこの単語を何度も使用しているためです。「jquery」は便利な方法ではないので、エイリアス$を使用しています。変更したい場合は、noConflictメソッドvar Sample = $。noConflict()で変更できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.