cy1024
注册会员

初级会员
UID 68614
精华
0
积分 68
帖子 45
金钱 68 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-2-15 来自 北京
状态 离线
|
新手学js的10个思考--关于数组
1.
<script language="javascript">
a= new Array();
a[0][0]=1;
document.write(a);
</script>
out:
行:3
字符:1
代码:0
错误:'a.0' 为空或不是对象
网址:file://C:\Documents and Settings\chenyong1\桌面\test.html
思考1:由以上得到结论js不支持多维数组?于是有以下试验
2.
<script language="javascript">
a= new Array();
a[0] = Array(1,2);
document.write(a+'<br>a.length='+a.length);
</script>
out: 1,2
a.length=1
思考2:由以上得到结论js支持一维数组,并且允许一维数组的元素是数组
思考3:由"一维数组的元素是数组==多维数组"(此为本人对多维数组的理解) 根据思考2得到js支持多维数组
思考4:由思考1和思考3想到是不是js支持多维数组,只是不能像这样'a[0][0]'来引用数组元素,于是有以下试验
3.
<script language="javascript">
a= new Array();
a[0] = Array(1,2);
document.write(a[0][0]+'<br>a[0].length='+a[0].length);
</script>
out: 1
a.length=2
思考5: 由以上知道js可以像'a[0][0]'这样调用数组元素
思考6:由代码1,3得出结论js在赋值时不支持'a[0][0]'的形式来给多维数组赋值,却可以用这种形式来引用此数组的元素
思考7:糊涂了…………
思考8:js支持数组下标为字符串吗?于是有以下试验
4.
<script language="javascript">
a= new Array();
a['b'] = 2;
document.write(a+'<br>a.length='+a.length);
</script>
out:
a.length=0
思考9:由以上得到不支持
5.
<script language="javascript">
a= new Array();
a['b'] = 2;
for(c in a)
{
document.write(c+'=>'+a[c]+'<br>');
}
</script>
out: b=>2
思考10: 由思考9得到-再一次糊涂了……
注:本人初学js,以上思考的开始为《javascript权威指导》数据类型一章节提到js不支持多维数组开始,欢迎高手交流赐教
|  花儿为什么这样 |
|