首页 > 代码库 > JS中关于in运算符的问题

JS中关于in运算符的问题

转自:http://bbs.bccn.net/thread-412608-1-1.html

in运算符

in运算符虽然也是一个二元运算符,但是对运算符左右两个操作数的要求比较严格。in运算符要求第1个(左边的)操作数必须是字符串类型或可以转换为字符串类型的其他类型,而第2个(右边的)操作数必须是数组或对象。只有第1个操作数的值是第2个操作数的属性名,才会返回true,否则返回false。

简单通俗的in的使用规范代码:

<html><head>  <title>in运算符</title>  <script language="javascript" type="text/javascript">   <!--    //定义一个box对象    var box = {box_length:200,box_width:100};    //定义一个数组    var arr = ["box_length",200,"200"];    //定义变量    var x = "box_length";    var y = 2;    if (x in box)    {     document.write("变量x包含在对象box之中<br>");    }    else    {     document.write("变量x不包含在对象box之中<br>");    }    if (y in box)    {     document.write("变量y包含在对象box之中<br>");    }    else    {     document.write("变量y不包含在对象box之中<br>");    }    if (x in arr)    {     document.write("变量x包含在数组arr之中<br>");    }    else    {     document.write("变量x不包含在数组arr之中<br>");    }    if (y in arr)    {     document.write("变量y包含在数组arr之中<br>");    }    else    {     document.write("变量y不包含在数组arr之中<br>");    }   -->  </script></head><body></body></html>

运算结果:

变量x包含在对象box之中变量y不包含在对象box之中变量x不包含在数组arr之中变量y包含在数组arr之中

 

JS中关于in运算符的问题