day-10.2 JS自带API(遍历对象的方法(forin))

forin也是一个遍历的API,但是不是遍历数组,也不是字符串,而是对象;

forin的作用是遍历对象的所有属性,书写格式如下:

1 for(var key in json){
2   //code  
3 }

 

 1 var oWrap = document.getElementById("wrap");
 2 var json = {
 3        "name":"chun",
 4        "age":"15",
 5        "marry":true,
 6        "handsome":false
 7  };
 8 var str ;
 9 for(var key in json){ //可以理解为,for(变量 in  对象){}这个格式的时候就会遍历去读对象的属性名,然后再花括号里进行循环操作,一直遍历到完;
10 str ="<p>"+key + "<========>" +json[key]+"</p>";  //之所以用json[key]而不是json.key,是因为这里的key是个var key,是一个变量,而不是json的属性,所以,只能用中括号去读取变量key的值,再以值为键去读键的值;
11 oWrap.innerHTML += str;
12       }

 

回顾一个知识点:

访问对象的属性一般用 . 操作,即 对象名.属性名,但是绝大多数的访问对象属性的这种写法都可以用中括号来代替,但是中括号里的值要是一个字符串才行,

比如这样:对象名["属性名"] ;这也就是为什么上述例子要用中括号的原因,中括号就能读到变量key里面的字符串,

并且因为是字符串,所以就能通过中括号来读取对象的该属性的值;

 

1 var a = document.getElementById();
2 var a = document["getElementById"]();//和上面是一样的;

 

遍历的一般应用

 1 var json = {
 2   a:10;
 3   b:20;
 4   c:30      
 5 };
 6 var str = "<table><tr><td>属性:</td><td>值:</td></tr>";
 7 for (var i in j ){
 8     str += "<tr><td>"+i+"</td><td>"+j[i]"+"</td></tr>"; //通过遍历给表格内填充内容;
 9 }
10 div.innerHTML = str;

 

posted @ 2018-06-14 23:36  bibiguo  阅读(216)  评论(0)    收藏  举报