2012-03-16 11 views
3

誰かがJQueryのキャッシング要素の違いを説明できるかどうか疑問に思っていました。 1つはドル記号で、1つは記号なしです。ここで

は一例です:

var cached = $('.someElement'); 

var $cached = $('.someElement'); 

答えて

15

は違いはありません。どちらもキャッシュされ、変数の名前だけが異なります。

var $message = 'Hello'; 
var message = 'Hello'; 

$変数構文はちょうどしばしばto indicate the variable contains a jQuery objectを使用している、ではない別の型(文字列、整数、DOM要素、...):

cached$cachedの両方が有効なJavaScript変数です。それはハンガリー語表記のようなものですが、それはプログラマーの間のちょうどコンベンションです。 JavascriptまたはjQueryが課すものはありません。

人々はjQueryの変数をキャッシュについて語るとき、彼らは一度のみは、ルックアップをやって意味:

//Like this: cached: search is done once. 
var clientSpan = $('#client'); 
clientSpan.hide(); 
clientSpan.show(); 
// ... 

//Not like this: uncached 
$('#client').hide(); 
$('#client').show(); 
// ... 
+0

パーフェクト。私はその技術を将来使用します。 – Crashdesk

4

$接頭辞は変数がjQueryオブジェクトが含まれていることを示すために使用されます。コードの点で違いはありません。サンプルの両方の要素が、各変数の内側のjQueryオブジェクトに含まれています。例えば

var myVariable = $("#myElement").text(); // string 
var $myVariable = $("#myElement"); // jQuery object 
関連する問題