js in操作符

in 操作符:(?in ?)第一个参数是字符串或可转换其他类型,2参数是操作对象或数组,第一操作数的值是第二操作数 的属性名。

例子

<!-- <script type="text/javascript">

function FF() {

this.age = 11;

}

FF.prototype.name = "kevin";

// in用来判断该属性是否存在在该对象中

var flag1 = "age" in new FF()?"存在":"不存在";

var flag2 = "name" in new FF()?"存在":"不存在";

alert(flag1)

alert(flag2)

</script> -->

<script type="text/javascript">

var key=new Array('java','javascrit','html')

var str='java';

if( 1 in key){

alert('这个存在这个数组里面')

}else(

alert('不在里面')

)

</script>

使用方法:

1.判断

x in arr 这里要注意的是判断数组的话 x表示的是下标,这个意识就是arr数组中有下标为x的元素吗

x in obj 现在的x表示的是对象的属性,这个意思是obj中有没有x这个属性

示例代码:

 
  1. var arr = [1,4,6,'a'];

  2. console.log('a' in arr);

  3. console.log(4 in arr);

  4. console.log(3 in arr);

这个输出的结果是:false false true;

解释:第一个false,因为下标不可能是a;第二个false,因为arr这个数组的长度是4,下标是0,1,2,3没有下标4;第三个true,原因和第二个一样

示例代码:

 
  1. var obj = {a:3,b:'b',c:'4'}

  2. console.log('a' in obj)

  3. console.log('b' in obj)

  4. console.log('4' in obj)

输出结果是:true,true,false

解释:第一个true,因为在obj中有属性a;第二个true,因为obj中有属性b,而不是因为值为b,这也是为什么第三个是false的原因

2. ...in...遍历数组或者对象

遍历数组代码:

 
  1. var arr = [1,2,3,4,5,6,7]

  2. for(var x in arr){

  3. console.log(arr[x])

  4. }

输出结果是:1 2 3 4 5 6 7

遍历对象代码:

 
  1. var obj = {a:1,b:'c',d:3}

  2. for(var x in obj){

  3. console.log(obj[x])

  4. }


输出结果是:1 c 3
 

猜你喜欢

转载自blog.csdn.net/qq_42113778/article/details/81629028
今日推荐