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;
浙公网安备 33010602011771号