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>