0

これはおそらく明らかだと思います...しかし、変数名の前に「$」を付けると、jQueryは正確に何をしますか。これが変数をグローバル名前空間に配置していることは知っていますが、なぜですか?

4

6 に答える 6

7

それは完全に誤りです。

$たまたま短い名前を持つ通常のオブジェクト (実際には関数) です。

$それ自体がグローバル (windowオブジェクトのプロパティ)

于 2012-08-15T19:10:19.560 に答える
2

JavaScript$では、変数名に使用できる有効な文字です。$変数にa を追加しても、特別なことは何もありません。

var $a;
var a$b;
var $;

これらは単なる変数であり、特別な意味はありません。

jQueryはシンタティック シュガーwindow.$を参照するだけwindow.jQueryです :-)

于 2012-08-15T19:12:07.890 に答える
1

$(例: )で始まる変数var $myvar;は単なる別の変数であり、まったく違いはありません。

編集:

「プレフィックス」とは、次のことを意味します。

$(myvar)

それは「接頭辞」ではありません。「ラッピング」だと思います。変数を「強化」します。それ自体を「ラップ」することもできwindowます... http://www.bennadel.com/blog/1838-Wrapping-The-Window-Object-In-A-jQuery-Wrapper.htm

することは と同じですjQuery(myvar)jQuery関数です(必要に応じて呼び出し可能なオブジェクトです)。

于 2012-08-15T19:11:22.877 に答える
0

名前の前に が付く変数を宣言しています$か?

これを書くと:

$test = 500;

次に、はい、グローバル名前空間を という名前の変数で汚染していますが$test、これは他の変数と何ら変わりはありません ( に$は特別な効果はありません)。しかし、JQuery では、おそらく次のようにします。

$('test')

これは単純な関数呼び出しです。関数名は$、パラメータは'test'

于 2012-08-15T19:12:27.623 に答える
0

あなたがやっているときのことですか:

var $li = $("li");

をプレフィックスとして付けliていること$。プレフィックスを自由に使用したい場合は、変数を何と呼んでいるかは問題ではあり$ません。$variableName が jQuery オブジェクトであることを知ってコードをデバッグするときに役立つ場合。

于 2012-08-15T19:13:14.620 に答える
0

jQuery は、javascript 言語の動作を変更することはできません。

グローバル変数を作成するには 2 つの方法があります

globalVariable = ...

また

window.globalVariable = ...

最初はjavascriptの厳密モードで動作しません

jquery.js が実行されると、ウィンドウ オブジェクト $ と jQuery にグローバル関数が追加されます

変数がローカルであるかグローバルであるかを変更することはできません。

于 2012-08-15T19:14:33.287 に答える