建_0001
2017-02-22 22:45
<script>
var obj={a:1,b:2,c:3}
//tostring in obj
obj.propertyIsEnumerable("toString");
var key;
for(key in obj){
console.log(key);
}
</script>
老师说的是tostring这个不能遍历出来.obj.propertyIsEnumerable("toString"); tostring不可枚举,所以不能遍历
for ..in是用来遍历 数组或者对象的属性的。并不是用来遍历数组或者对象属性的值。这个Key是Obj的属性自然可以遍历出来
本来就可以遍历,只是用for…in遍历会存在问题,比如说遍历出来的顺序可能会被打乱等。而且你这样遍历出来的是关键字a,b,c 如果想遍历出值的话应该console.log(obj[key]);
你问的好奇怪啊。。。key是obj的属性名啊,遍历的也是obj的属性,你说的key可以遍历出来什么意思。。。我也没听到老师说key可不可以遍历出来。。。
console.log (obj.key)
console没有keys这个方法.....
var key定义只是一个普通的局部变量,而不是关键字keys.直接用console.keys(obj)
JavaScript深入浅出
281112 学习 · 1020 问题
相似问题