jquery $ variable名称vs $(变量名称)

时间:2012-03-13 21:09:49

标签: jquery

var $myDiv = $("div#myDiv");//example 1
$myDiv.val(); //example 1

var myDiv = $("div#myDiv"); //example 2
$(myDiv).val(); //example 2

上面的示例1和示例2之间有什么区别吗? 就性能而言,两者是否相同?

提前致谢

3 个答案:

答案 0 :(得分:2)

您不需要在示例2中第二次执行$(myDiv),因为它已经是jQuery对象。 myDiv.val()就够了。当您取消$()时,示例完全相同。

答案 1 :(得分:1)

编辑:现在我看到你已经再次编辑了你的代码示例(第2次或第3次),代码现在看起来像这样:

var $myDiv = $("div#myDiv");//example 1
$myDiv.val(); //example 1

var myDiv = $("div#myDiv"); //example 2
$(myDiv).val(); //example 2

在这种情况下,第一个示例更有效,因为您直接使用已创建的jQuery对象。在第二个示例中,您将从第一个jQuery对象创建一个新的jQuery对象,没有理由这样做。因此建议使用示例1。示例2将起作用,但这是浪费和不必要的。

答案 2 :(得分:1)

示例2稍慢一点,因为你将jquery实例包装在另一个jquery实例中(这样做有什么意义?) - 它的工作原理是因为jquery正确处理它,但它没有任何意义