1.in关键字
属性名 in 对象,用来判断某个属性在对象中是否存在与其严格相等的属性名,返回boolean值
属性名必须是字符串或数字
var obj = {
a : 1,
b : 2
}
console.log('a' in obj);//返回true,obj对象中存在a属性名
var arr = [12,11,10];
console.log(12 in arr);//返回false,原因arr数组中12,11,10三个值对应的属性名分别是0,1,2
2.for-in循环
fo
这里是Javascr ipt支持的另外一个循环。它被称为for…in循环。这个循环是用于循环一个对象的属性。
因为我们还没有讨论的对象,所以使用这一循环可能会感觉不太明白。但是,一旦你会对Javascr ipt对象了解后,那么会发现这个循环非常有用。
语法
for (variablename in object){
statement or block to execute
}
从对象每次迭代一个属性分配给变量名(variablename),这个循环持续到该对象的所有属性都用尽。
例子:
之前听说火狐的JS引擎支持for each in的语法,例如下述的代码: 代码如下:var arr = [10,20,30,40,50];for each(var k in arr) console.log(k);即可直接遍历出arr数组的内容。
由于只有FireFox才支持,所以几乎所有的JS代码都不用这一特征。
不过在Actionscr ipt里天生就支持for each的语法,不论Array还是Vector,还是Dictionary,只要是可枚举的对象都可以for in和for ea
准备数据
let arr = [a,b,c,d,e];
let obj = {
a:1,
b:2,
c:3
}
for…in
for…in 通过 key-value的形式来遍历数据
for(let val in arr){
console.log(val); //0 1 2 3 4
// console.log(arr[val]); //a b c d e
}
for(let val in obj){
console.log(val);