Javascript $element.click vs$(';element';)。单击
我正在尝试优化我的部分代码,我想知道我应该使用以下哪一个,为什么,一个比另一个有什么好处Javascript $element.click vs$(';element';)。单击,javascript,jquery,Javascript,Jquery,我正在尝试优化我的部分代码,我想知道我应该使用以下哪一个,为什么,一个比另一个有什么好处 $('element').click(function() { /* do something */ }) 或 它们之间唯一的区别是,在第二个变量中,您有一个引用jQuery对象的变量,可以重用该变量。仅当您想重新使用它时,才需要它,例如: let $element = $("element"); $element.click(function() { /* ... */ }); if (someCond
$('element').click(function() { /* do something */ })
或
它们之间唯一的区别是,在第二个变量中,您有一个引用jQuery对象的变量,可以重用该变量。仅当您想重新使用它时,才需要它,例如:
let $element = $("element");
$element.click(function() { /* ... */ });
if (someCondition) {
$element.addClass("whatever");
} else {
$element.find("some-child").remove();
}
// ...
重复上面的$(“element”)
部分需要更多的键入,并且需要在DOM中重复查找元素并重复创建新的jQuery对象,这比重用同一个对象的效率要低
有时您不需要变量,因为jQuery的API是为链接而设计的。(这就是为什么我在上面输入了
if
,这样我就可以只做$(“元素”)。单击(/*…*/).addClass(/*…*/)。查找(/*…*/)
等等。)它们之间的唯一区别是,在第二个变量中,有一个对jQuery对象的引用,可以重用。仅当您想重新使用它时,才需要它,例如:
let $element = $("element");
$element.click(function() { /* ... */ });
if (someCondition) {
$element.addClass("whatever");
} else {
$element.find("some-child").remove();
}
// ...
重复上面的$(“element”)
部分需要更多的键入,并且需要在DOM中重复查找元素并重复创建新的jQuery对象,这比重用同一个对象的效率要低
有时您不需要变量,因为jQuery的API是为链接而设计的。(这就是为什么我在上面输入了
if
,这样我就可以只做$(“元素”)。单击(/*…*/).addClass(/*…*/)。查找(/*…*/)
等等)这主要取决于一个问题-我会再次使用该选择器吗
如果答案为“是”,则为“是”,定义要使用的变量,并将其用于函数上的
。如果只有一次,则它将使用更多字符来定义它,然后使用它来仅使用它。但是没有什么大的区别(除非你选择方法1并在整个过程中重用选择器)这主要取决于一个问题——我会再次使用该选择器吗
如果答案为“是”,则为“是”,定义要使用的变量,并将其用于
函数上的。如果只有一次,则它将使用更多字符来定义它,然后使用它来仅使用它。但是没有什么大的区别(除非你选择使用方法1并在整个过程中重复使用选择器)如果元素被引用一次或两次,则表示选项1更好。
但是,如果元素被多次引用,则意味着选项2更好,因为即使它被多次引用,您也只潜入dom一次,并且如果元素被引用一次或两次,则将提高性能和良好的编码实践,意味着选项1更好。
但是如果元素被多次引用,则意味着选项2会更好,因为即使多次引用,您也只会进入dom一次,这将提高性能和良好的编码实践它们在所有意图和目的上都是相同的。您正在进行微优化。如果您需要在应用程序的其他部分中使用元素引用,将其缓存在变量中肯定是一个好主意,相反,或者再次重复相同的$('selector')是使用var$element=$('element')的一个好选项;就好像进一步的代码需要使用$element一样,它将是可恢复的。它们在所有意图和目的上都是相同的。您正在进行微优化。如果您需要在应用程序的其他部分中使用元素引用,将其缓存在变量中肯定是一个好主意,相反,或者再次重复相同的$('selector')是使用var$element=$('element')的一个好选项;如果进一步的代码需要使用$element,那么它将是可恢复的