var $myDiv = $("div#myDiv");//example 1
$myDiv.val(); //example 1
var myDiv = $("div#myDiv"); //example 2
$(myDiv).val(); //example 2
上面的示例1和示例2之间有什么区别吗? 就性能而言,两者是否相同?
提前致谢
答案 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正确处理它,但它没有任何意义