首页 > 代码库 > for-in
for-in
先看一个例子:
Array.prototype.searchItem = function(value){//函数已被简化 return right; } var a = [1, 2, 3, 4]; for(var i in a){ console.log(a[i]); }
前几天说个,for-in的一个坑,就是,其下标i是字符串型,不能简单的做加减运算,还有,当退出循环时,下标i不会像普通的for(i;;)一样,出现越界,所以不能指望用 i==arr.length 来判断for-in 是否完整执行完毕。
今天再说一个,就是上面的例子,结果可能并不像想象中的那样,遍历a,而是:::
多了一个函数,这其实也是由for-in能遍历对象的关系,造成的,毕竟函数也是对象嘛。
所以,用for...in...在通常情况下确实可以正确运行,但是如果我们的代码时放到别人的环境中也想跑,那请不要使用for...in...来循环数组。并且这种错误往往真的很隐蔽。
for-in
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。