var test = $('something');
$(test).stuff();
而不是这样做:
var test = $('something');
test.stuff();
基本上我发现代码在jQuery选择器格式中更容易阅读,即使它不需要。
这两种方法看起来都是一样的。
谢谢!
答案 0 :(得分:12)
第一个可能会明显变慢,具体取决于对象的大小。如果你只使用它几次就不会有那么大差别,但如果你经常使用它,你可以使用这种流行的命名方案:
如果变量包含jQuery对象,则在变量名前加上$
。通常命名其他所有内容,并且不要将任何不包含jQuery对象的变量命名为$。所以你会写:
var $test = $('something');
$test.stuff();
如果您遵循相同的命名约定,那么很明显test是一个jQuery对象。
答案 1 :(得分:7)
这是来自jQuery Docs:
Cloning jQuery Objects
When a jQuery object is passed to the $() function, a clone of the object is created. This new jQuery object references the same DOM elements as the initial one.
所以区别在于jQuery正在复制传递给$()函数的jQuery对象(这会产生少量的额外开销)。
答案 2 :(得分:5)
test.stuff()
更快。
答案 3 :(得分:4)
你会以第一种方式做到这一点并没有任何理由。这样做的原因是你“重新jQueryifying”它。我建议这样写它var $test = $('something');
很明显,当你这样做时,变量是一个jQuery对象。
答案 4 :(得分:1)
我不相信第一种方法是正确的,我认为一旦你宣布了一个变量,它只是那个名字。如果你想要类似的语法,你可以将变量声明为$test
并且没问题。