...in... 从字面上理解就是什么在什么中,在js中差不多也是表达这个意思,主要作用是判断数组元素或者对象属性,也用来遍历数组和对象
使用方法:
1.判断
x in arr 这里要注意的是判断数组的话 x表示的是下标,这个意识就是arr数组中有下标为x的元素吗
x in obj 现在的x表示的是对象的属性,这个意思是obj中有没有x这个属性
示例代码:
var arr = [1,4,6,'a'];
console.log('a' in arr);
console.log(4 in arr);
console.log(3 in arr);
这个输出的结果是:false false true;
解释:第一个false,因为下标不可能是a;第二个false,因为arr这个数组的长度是4,下标是0,1,2,3没有下标4;第三个true,原因和第二个一样
示例代码:
var obj = {a:3,b:'b',c:'4'}
console.log('a' in obj)
console.log('b' in obj)
console.log('4' in obj)
输出结果是:true,true,false
解释:第一个true,因为在obj中有属性a;第二个true,因为obj中有属性b,而不是因为值为b,这也是为什么第三个是false的原因
2. ...in...遍历数组或者对象
遍历数组代码:
var arr = [1,2,3,4,5,6,7]
for(var x in arr){
console.log(arr[x])
}
输出结果是:1 2 3 4 5 6 7
遍历对象代码:
var obj = {a:1,b:'c',d:3}
for(var x in obj){
console.log(obj[x])
}
输出结果是:1 c 3