我已经在 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 语句之外的优点:
- 由于使用相同的 var 语句,代码更少
- 已经吊起来了,js就不用了
- 内部工作更加明确
- 将通过 jshint.com
放入 for 语句的优点
- 简单的目视检查以验证声明发生在函数中