迭代的区别是什么:
var recordId;
for(recordId in deleteIds){
...
}
和
for(var recordId in deleteIds){
...
}
它说隐式定义(它是什么),它们之间是否存在性能差异?
答案 0 :(得分:1)
“隐式声明”是在使用var
声明之前赋值的变量。该场景使变量在尽可能大的范围内声明(“全局”范围)。
但是,在您的代码示例中,recordId
在分配(var recordId
)之前就已声明,因此没有问题。
关于你的另一个问题,不,没有明显的性能差异。
答案 1 :(得分:1)
这两个样本是等价的,但第一个可能来自于遵循JavaScript中推荐的模式,它在每个函数的顶部声明所有变量。
样品:
var recordId,
i = 0;
for(recordId in deleteIds){
...
i++;
}
有关此问题的更多说明,请访问JSLint error: Move all 'var' declarations to the top of the function