我发现了一些以前从未见过的东西,我很喜欢。请查看以下示例:
var arr = ['un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept'];
for(var i = 0; arr[i]; i++){
console.log( arr[i] );
}
替代:
for(var i = 0; i < arr.length; i++){
console.log( arr[i] );
}
但它们都实现了相同的结果,即输出一个数组列表。
我的问题是,在for循环声明中使用'arr[i]'和'arr.length'有何区别(或相似之处)?
非常感谢。
for(var i = 0; arr[i]; i++){}
时,需要小心,以防数组中存在null值。 - ngenarr
的属性。 - Felix Klingfor ( var i = 0, len = arr.length; i < len; i += 1 ) { //... }
,这样就不会“计算”数组的长度。同时,因为根据循环的性质,数组的长度在运行循环过程中可能会发生改变。 - Misha Reyzlin