js
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
//【字典形式的数组】
var arr = new Array(); //声明一个动态数组对象arr
arr[0] = "tom";
arr[1] = "jim";
arr[2] = "二狗子";
for (var i in arr) {
alert(i); //输出1,2,3 【它不像C#数组输出的是vale,这里输出是key :字典风格】
}
for (var i = 0; i < arr.length; i++) {
alert(arr[i]); //输出tom ,jim , 二狗子
}
*/
//【字典形式的数组】
var dict = new Array(); //声明一个数组对象dict
dict["人"] = "ren"; //动态的添加一个人属性
dict["口"] = "kou"; //动态的添加一个口属性
dict["手"] = "shou"; //动态的添加一个手属性
for (var item in dict) { //遍历dict数组对象:这个for循环相当于C#中的foreach遍历,语法也是一样的,只是foreach变成了for
alert(item); //输出 人,口,手 【它不像C#数组输出的是vale,这里输出是key :字典风格】
//alert(arr[item]) //如果想输出它的value值 也可以写写成这样,这样就输出了:ren ,kou ,shou 了
}
//既然通过for (var v in dict)取到的是key 它有这种特性,那么我们就可以利用这种特性来获得一个对象里面又有的成员(对象的成员是以对象的key的形式出现的)
for (var v in document) {//输出document对象的所有成员
document.writeln(v);
}
alert(dict["口"]); //输出 kou; 因为dict数组对象是用"人","口","手"来做key的,所以这里是根据“口”这个key来取得value“kou”
//数组还有一个简化的方式来声明
//【普通数组的简化声明形式】
var str = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // 这种数组可以看做是 dict["人"] = "ren";的特例,也就是key为 0,1,2,3.......key为0的时候value为1
for (var i = 0; i < str.length; i++) {
alert(str[i]); //输出 1,2, 3, 4, 5, 6, 7, 8, 9
}
//【字典风格的数组简化声明形式】
var str = { "tom": 30, "jim": 28, "二狗子": 16 };
for (var v in str) {
alert(v); //输出tom ,jim, 二狗子
}
/*
for (var i = 0; i < str.length; i++) { //注意key不为数字的字典风格的数组不能用这个for循环的形式来遍历。因为str[i],其中这个i是一个索引,是数字
alert(str[i]);
}*/
</script>
</head>
<body>
</body>
</html>