2010-06-30 4 views
4

Может кто-нибудь объяснить разницу между использованием $ при определении переменных в jQuery, а не. Имеет ли это влияние на производительность?Определение переменных в jQuery

var $someVar = $("a"); 
var someVar = $("a"); 

Кроме того, что разница в вызове переменных и без $ (someVar) Например:

$(someVar).html(); 
someVar.html(); 

ответ

4

В вашем первом фрагменте нет разница между этими двумя. Это просто «notification», что эта переменная содержит объекты jQuery wrappet set, которые обычно используются некоторыми разработчиками.

Во втором фрагменте вы фактически делаете две разные вещи. Вы обертываете someVar в объект jQuery, а затем получаете доступ к jQuery method (html()). В этом примере someVar может содержать DOM element или selector string как «#some_element_id».

В другой строке предполагается, что someVar уже является объектом jQuery, иначе этот вызов завершится с ошибкой.

2

Там нет разницы в производительности, это просто идентификатор. $foo часто используется для ссылки на объекты jquery у опытных авторов, чтобы не путать их с не-jquery-объектами в сложных скриптах.

Что касается $() упаковки, вы можете ссылаться на DOMElement и завернуть его в JQuery, например

var e = document.body; $(e).hide() 

Если бы мы попытались e.hide() там не будет определен метод, как элемент тела не имеет такого метода, он предоставляется только цепочкой прототипов jQuery.

2

$somevar и somevar оба одинаковы. Это соглашение использовать $ перед jquery variale, так что вы знаете, что это объект, завернутый jquery.
(btw, $ были введены в javascript, чтобы отличать код, сгенерированный машиной для человеческого кода)
Однако $ (somevar) и somevar совершенно разные. $ (somevar) -> Вы вызываете функцию JQuery и передаете ее somevar. Вы также можете прочитать это как Jquery (somevar). Поэтому, если somevar ссылается на dom id, объект dom будет завернут jquery и возвращен.

+0

+1 для (btw, $ были введены в javascript, чтобы отличать сгенерированный машиной код для человеческого письменного кода) –

Смежные вопросы