我只是想确保我正确理解这个基本想法,无论我怎么说,我都没想出完全相关的搜索结果。
这更快:
function () {
$('#someID').someMethod( $('#someOtherID').data('some-data') );
}
比这个:
function () {
var variableOne = $('#someID'),
variableTwo = $('#someIDsomeOtherID').data('some-data');
variableOne.someMethod( variableTwo );
}
是正确的吗?
我认为问题可能是“声明变量比不声明变量慢吗?” :捂脸:
我质疑这个问题的特殊情况是在AJAX调用之后运行一个类似构造的函数,其中必须将一些事件委托给新加载的元素。
答案 0 :(得分:2)
您将从中受益最多的答案是它没有什么区别。
您可以执行声明变量并将数据存储在其中,这样您就不必多次查询该数据。除了这个显而易见的观点之外,使用变量而不是将所有内容链接到一个大表达式中可以提高可读性并使代码更易于管理。
在性能方面,我无法想到你应该辩论声明变量的任何场景。如果速度存在绝对差异,那么它就会非常小,以至于您不应该将此视为不使用该变量的理由而只是让您的代码变成意大利面。
答案 1 :(得分:1)
如果您想要一次又一次地使用元素$('#someID') 然后decelaring变量将是有用的,建议缓存$('#someId')。
var x = $('#someId')'