我在for语句中或之前看到了两个....变量声明。哪个更好?这是一个示例代码段。
MC.initAll = function() {
var iterate = [MC, Su],
l = iterate.length,
i,
key;
for( i = 0; i < l; i++ ) {
for( key in iterate[i]) {
if( iterate[i].hasOwnProperty(key) && iterate[i][key].hasOwnProperty("init") ) {
iterate[i][key].init();
}
}
}
}
在for语句之外置于函数顶部的优点:
加入for语句的优点
答案 0 :(得分:3)
这是个人风格。哪个“更好”纯粹是一个意见问题。无论var
语句出现在何处,javascript解释器都会将所有变量定义提升到变量块的开头。
我个人喜欢将我的var放在for
循环中,这样就不会出现意外遗忘和使用隐式全局变量,但这只是个人风格的选择。我知道其他人喜欢在函数开始时明确声明的所有变量。
答案 1 :(得分:1)
我在for循环中对它进行声明之前声明我的变量
var i, j;
for (i = 0, j = x.length; i < j; i = i+1){
the loop ...
}
这样我只通过我的代码一次声明我的计数器并随意重置它。 如果我需要保持计数器值,我声明另一个值,我把我的计数器值