我想知道是否有人可以解釋JQuery中緩存元素的差異。一個有美元符號,一個沒有。
下面是一個例子:
var cached = $('.someElement');
var $cached = $('.someElement');
我想知道是否有人可以解釋JQuery中緩存元素的差異。一個有美元符號,一個沒有。
下面是一個例子:
var cached = $('.someElement');
var $cached = $('.someElement');
有沒有差別。兩者都被緩存,只有變量的名稱不同。
兩個cached
和$cached
是有效的JavaScript變量:
var $message = 'Hello';
var message = 'Hello';
變量$語法往往只是使用to indicate the variable contains a jQuery object,而不是另一種類型(字符串,整數,DOM元素,...)。這是一種匈牙利符號,但這只是程序員之間的一種慣例。沒有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();
// ...
的$
前綴用於表示該變量包含一個jQuery對象。就代碼而言,沒有區別,您示例中的兩個元素現在都包含在每個變量內的jQuery對象中。
例如:
var myVariable = $("#myElement").text(); // string
var $myVariable = $("#myElement"); // jQuery object
完美。我將來會使用這種技術。 – Crashdesk 2012-03-16 12:40:16