-
json
一圈澈、對(duì)比數(shù)組與json寫(xiě)法
【案例】
如果數(shù)組:
var arrUrl=['img/1.png','img/2.png','img/3.png','img/4.png'];
var arrText=['寵物','圖片二','圖片三','面具'];
用json寫(xiě):
var imgData ={
utl:['img/1.png','img/2.png','img/3.png','img/4.png'],
text:['寵物','圖片二','圖片三','面具'];
};
alert(imgData.url[2])//img/3.png
二咱揍、json寫(xiě)法中的''和.和[]
【案例】
var json2={name:'miaov'};
var json2={'name':'miaov'};
//都正確节预,只是下面name加了引號(hào)''后更為安全穩(wěn)定
都正確仅财,只是name加了引號(hào)后更為安全穩(wěn)定
alert(json2.name);
alert(jason2['name'];
//上面的兩種讀取寫(xiě)法:.或者[]也都是正確的
寫(xiě)法:.或者[]也都是正確的
json2.name='abc';
json2['name']='ABC';
//上面的兩種改寫(xiě)方法也都正確
三狈究、Jason可以包含數(shù)字,字符串盏求,數(shù)組等抖锥;數(shù)組也可以包字符串
【案例】:
var json2={abc:123,xyz:''}
////{[],[],[]} [{},{},{}]json可以包含數(shù)組,數(shù)組也可以包含json
var arr=[{'name':'TM','age':23},{'name':'leo','age':32}];
alert(arr[0].name+'今年有'+arr[1]['age']);
-
for in遍歷
一碎罚、遍歷與獲取驗(yàn)證
【案例】
var json4 ={'name':'miaov','age':3,'fun':'前端開(kāi)發(fā)'};
for(var attr in json4){
alert(attr);//name,age,fun
alert(json4[attr]);//miaov,3,前端開(kāi)發(fā)
alert(json4['attr']);//undefined 加了引號(hào)是去找是否有attr屬性
}
【注意】:alert(json4[attr])與alert(json4['attr'])不同
二磅废、有數(shù)組時(shí),for in與for的嵌套
【案例】
var json5={
'url':['img/1.png','img/2.png','img/3.png','img/4.png'],
'text':['寵物','圖片二','圖片三','面具'];
}魂莫;
for(var attr in json5){
for(var i=0;i<json5[attr].length;i++){
alert(json5[attr][i]);//img1.png,img/2.png,...面具
}
}
這說(shuō)明for in循環(huán)可以嵌套for
var arr={[],[],[]}
反過(guò)來(lái)for循環(huán)也可以嵌套for in
var arr=[{},{},{}]
三还蹲、for in遍歷對(duì)象屬性
window下面有多少屬性,及屬性名對(duì)應(yīng)的值:
<script>
var str="";
var num =0;
for(var attr in window){
str +=num+ '.'+ attr + ':'+window[attr]+'<br/>';
num++;
}
document.body.innerHTML=str;
</script>
四耙考、json中可以用for嗎谜喊?(不可以)數(shù)組可以用for in 嗎?(可以)
var json={
'url':['img/1.png','img/2.png','img/3.png','img/4.png'],
'text':['寵物','圖片二','圖片三','面具'];
}倦始;
alert(json.length);//undefined說(shuō)明json沒(méi)有長(zhǎng)度length概念
for(var i=0;i<json.length;i++){
}
//上面都測(cè)試了json沒(méi)有長(zhǎng)度length概念,所以json不用for
var arr=['a','b','c'];
for(var i in attr){
alert(i);//0,1,2
alert(arr[i]);//a,b,c
所以for in可以用于數(shù)組
}