项目的需求有点奇怪,属性中有空格,所以不能选用.做为属性连接符,只能用[""]了。这里比较有意思的是,把arr定义为数组,或者对象,输出都是正确的,也就是说,对于关联数组(数组索引不为数字),其结构和对象很相似,都可以用for in来遍历,也都可以用[""]连接属性,呵。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<script type="text/javascript">
var arr = [];
// var arr={};
arr["a span"] = "{color:blue}";
arr["#layout .grey"] = "{font-size:12px}";
for(var p in arr){
alert(p+" : "+arr[p]);
}
</script>
</BODY>
</HTML>
=============================
另外,for in循环不只是可以用于对象的遍历,也可以用于普通数组的遍历,我们除了for(var i=0;i<arr.length;i++),完全也可以用for in来完成数组的遍历。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<script type="text/javascript">
var arr = ["a","b","c","d"];
for(var p in arr){
alert(p+" : "+arr[p]);
}
</script>
</BODY>
</HTML>