js一个简单的for循环为什么key会把__proto__里面的函数给循环出来?
//代码就这样简单,
var b = [0]
//这个会循环出第二个key然后就会出现kr = each这个函数的情况
for(var kr in b)
{
}
__proto__
就是JS中的原型链,for in 会递归 一个对象的整个原型链。如果想要这个对象本身的,可以用 hasOwnProperty
判断一下
只想查看 JavaScript 对象直接相关的属性可以使用这个方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames
for(var x in b)
{
if ( ! b.hasOwnProperty(x)) {
continue;
}
// do
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。