关键字in的用法

判断

数组的判断

语法:x in arr——x表示的是数组的下标,意思是判断arr是否有下标为x的元素。

1
2
3
4
var arr = [1,4,6,'a'];
console.log('a' in arr);// 结果为false
console.log(4 in arr);// 结果为false
console.log(3 in arr);// 结果为true

对象的判断

语法:x in obj——x表示的是对象的属性,意思是判断对象中是否有x这个属性。

1
2
3
4
var obj ={a:3,b:'b',c:4}
console.log('a' in obj);// 结果为true
console.log('b' in obj);// 结果为true
console.log('4' in obj);// 结果为false

obj中确实具有a,b这两个属性,所以第一个和第二个都是true。
但是没有4这个属性,因此是false。

遍历

一般使用for in 来遍历数组或者对象
对于数组,迭代出来的就是数组元素。
对于对象,迭代出来的就是对象的属性。

数组

1
2
3
4
var arr = [1,2,3];
for(var x in arr){
console.log(x);
}

结果为123

对象

1
2
3
4
5
6
7
var obj = {
name:"xiaoming",
age:18
};
for(var x in obj){
console.log(x + " ");
}

结果为name age