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 v in dict) { //遍历dict数组对象:这个for循环相当于C#中的foreach遍历,语法也是一样的,只是foreach变成了for alert(v); //输出 人,口,手 【它不像C#数组输出的是vale,这里输出是key :字典风格】 } //既然通过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>