我正在尝试优化我的部分代码,我想知道我应该使用以下哪一项以及为什么,一方面有什么好处呢?
$('element').click(function() { /* do something */ })
或
let $element = $('element')
$element.click(function() { /* do something */ })
答案 0 :(得分:3)
它们之间的唯一区别在于,在第二个中,您有一个变量,它具有对jQuery对象的引用,您可以重用它。如果你想重复使用它,你只需要它,例如:
How can i run the both cmake commands from a single recipe file.
Thank You,
重复上面的let $element = $("element");
$element.click(function() { /* ... */ });
if (someCondition) {
$element.addClass("whatever");
} else {
$element.find("some-child").remove();
}
// ...
部分会更加打字,并且需要反复查找DOM中的元素并重复创建新的jQuery对象,这比重用相同的对象。
有时您不需要变量,因为jQuery的API是为链接而设计的。 (这就是为什么我投入上面的$("element")
,所以我可以做if
等。)
答案 1 :(得分:1)
这主要取决于一个问题 - 我会再次使用那个选择器吗?
如果答案是肯定的,那么是,定义要使用的变量并将其用于.on
函数和其他任何地方,如果它只有一次,那么它使用更多的字符来定义它然后使用它只是使用它。但是没有太大的区别(除非你选择方法1并重复使用选择器)
答案 2 :(得分:-1)
如果元素被引用一次或两次意味着 option1 更好。 但是如果元素被多次引用意味着选项2 更好,因为即使它被多次引用,你只潜入dom一次,它将提高性能和良好的编码实践