for in 结构

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

案例

<!DOCTYPE html>
 <html>
 <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <title></title>
     <link rel="stylesheet" href="">
 </head>
 <body>
     
 </body>
 </html> 
 <script>
 var json = {name : 'Tom',age : 20, gender : 'Male'}
 var arr = [1,2,3,4,5,6];
 for(var j in json) {
    console.log(j);//name,age,gender,属性
 }
 for(var j in json) {
    console.log(json[j]);//Tom,20,?Male,值
 }
 for(var k in arr) {
    console.log(k);//0,1,2,3,4,5,索引号
 }
 for(var k in arr) {
    console.log(arr[k]);//1,2,3,4,5,6,值
 }
 </script>

案例

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
</body>
</html>
<script>
    var arr = [1,2,3,'a','b','c',{name: 'Tom'}];
    var json = {name:'Tom',age:'20',gender : 'male'}
    if(1 in arr) {console.log(123)}
    if('1' in arr) {console.log(456)}
    if('name' in json) {console.log(789)}
</script>
原文地址:https://www.cnblogs.com/darkterror/p/6219794.html