扫码关注官方订阅号
for(var i in window.Math){console.log(i);}打印undefined
认证高级PHP讲师
https://developer.mozilla.org... 看一下这个方法;
给个例子先:
var e = {d:1}; Object.defineProperty(e, 'd',{enumerable:false}); for(var i in e) console.log(i);//同样输出不了d这个 e.e = 2; for(var i in e) console.log(i);//只输出e e.d//还是存在1
也就是说当你给对象设置了某个属性值具备enumerable:false时,用for in没法访问到
再看看Math,我们知道Math 有个random成员方法;for in没输出出来,我们看下他是不是也 enumerable:false
怎么看?
https://developer.mozilla.org...
Object.getOwnPropertyDescriptor(Math,'random') //输出结果 //Object {writable: true, enumerable: false, configurable: true}
so?
可以for出来的都是可枚举的,但是:
> Math.propertyIsEnumerable("E") false
我猜测,是因为Math里面的东西。设置了不可迭代。也不知道对不对。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
https://developer.mozilla.org...
看一下这个方法;
给个例子先:
也就是说当你给对象设置了某个属性值具备enumerable:false时,用for in没法访问到
再看看Math,我们知道Math 有个random成员方法;for in没输出出来,我们看下他是不是也 enumerable:false
怎么看?
https://developer.mozilla.org...
so?
可以for出来的都是可枚举的,但是:
我猜测,是因为Math里面的东西。设置了不可迭代。也不知道对不对。