HTML简单的问题,大家进

来源:百度知道 编辑:UC知道 时间:2024/05/15 01:40:57
<html>
<head>
<script language=javascript>
function MyArray(n){
this.length=n
for(i in 4)
this[i]=0
}
MyArray=new Array(4)
MyArray[1]="web"
MyArray[2]="技术"
MyArray[3]="应用"
MyArray[4]="基础"
document.open()
for(var n=1;n<MyArray.length;n++){
document.write(MyArray[n]);
}
document.close()
</script>
</head>
<body>
</body>
</html>
里面的for(i in 4)是什么意思啊,function MyArray(n)时结果是web技术应用基础,如果改成function Array(n)结果就是web技术应用,解释哈

for (i in 4),这是一个for in语句,
for (变量 in 对象)
{
在此执行代码
}
这句话就是初始化,把MyArray[0~4]都初始化为零.
你第二个问题,问的好,这是一个对于数组和构造函数的问题.在这段代码里,一开始 function MyArray(n),因为MyArray[1]="web" ,MyArray一开始定义的就是1,其实他还有一个MyArray〔0〕,只是他没有写,在构造函数里,可以随意添加.其实他的MyArray[4]="基础"
是第5个是添加进去的.所以N=5,传到上面,function MyArray(n) = function MyArray(5),
this.length=5 = MyArray.length=5 ,所以答案就是web技术应用基础.
如果你把MY去了,那么他下面定义了MyArray=new Array(4),所以function Array(n) = function Array(4).所以 this.length=4 = MyArray.length=4,所以答案就是 web技术应用了