for-in遍历json数据
1、for遍历json数据
var json = {'name':'wly','age':'22','fun':'前端开发'} for(var attr in json){ alert(json[attr]) //遍历json属性的数据
alert(json['name']) //访问单个json属性
}
2、for in 遍历对象属性
var str = ''; var num = 0; for(var attr in window){ str += num + '.'+ attr+':'+ window[attr] + '<br/>'; num++; } document.body.innerHTML = str;
var str = '';
var num = 0;
for(var attr in document){
str += num + '.'+ attr+':'+ document[attr] + '<br/>';
num++;
}
document.body.innerHTML = str;
json数据因为没有length,所以无法使用for循环,只能用for-in遍历。
但是数组有length,可以用for循环,也可以用for-in
var arr = ['aa','cc','dd']; for(var i in arr){ alert(i);
alert(arr[i]); }
定义数组的方式:
var arr1 = ['1','2','3']; var arr2 = new Array(3); //放入数字,就等于长度为3 var arr3 = new Array('3'); //放入字符串,相当于赋值进数组 //alert(arr3.length); var arr5 = ['mmm','2','3']; arr5.length = 1; //数组长度变为1 //alert(arr5); arr5.length = 0; //数组长度为0,就是一个快速清空数组内容的方法
arr = [] //清空数组内容,这也算一个方法---重新赋一个空数组。 一般数组内容多时,这个据说效率更高。
综上数组的操作,也就是说数组的length是可写的。
然而字符串呢,
var str = 'ccccccccc'; str.length = 1; alert(str); //弹出的还是ccccccccc