读书人

问个for的有关问题

发布时间: 2013-10-11 14:52:39 作者: rapoo

问个for的问题
toString 在什么情况下,那个for循环不执行。也就是说不设enumerables = null这个值
for (var i in {toString: 1}) {

enumerables = null;

}
[解决办法]
那个for循环本来就是不执行的
toString是不可壮举的属性(方法),就算你重定义toString也还是不可壮举的。

for(var i in {toString: 1,aaa:2}) {
alert(i);
}

[解决办法]
引用:
在mootools有这样一段:
var enumerables = true;
for (var i in {toString: 1}) enumerables = null;
if (enumerables) enumerables = ['hasOwnProperty', 'valueOf', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'constructor'];



这样不就有点多余吗?


这个好像是为了兼容IE的,toString,valueOf这些在IE下默认是枚举不出来的。

读书人网 >JavaScript

热点推荐