为了账号安全,请及时绑定邮箱和手机立即绑定

为什么数组长度结果跑前面去了

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数组长度</title>
<script language="javascript">
 var acv=new Array(65,90,88,98);
 document.write("数组的长度是:"+ document.write(acv.length));
</script>
</head>
<body>
</body>
</html>

结果为啥是 4数组的长度是:undefined 而不是 数组的长度是:  4  undefined


正在回答

6 回答

第9行 document.write("数组的长度是:"+ document.write(acv.length));

改为:

document.write("数组的长度是:"+acv.length);

又或者:

document.write("数组的长度是:");

document.write(acv.length); 你这用法有问题....没见过document.write里面嵌套document.write

1 回复 有任何疑惑可以回复我~
#1

6666666666666到不行 提问者

非常感谢!
2016-07-19 回复 有任何疑惑可以回复我~

我是这样理解的,逆向来看,程序会先执行document.write(mynum.length)//输出4。再执行document.write()//输出undefined。再执行document.write("数组的长度是:"+undefined);至于为什么变成document.write().就不知道了。可以用这个document.write(document.write(4+"<br/>"));更加清楚。

0 回复 有任何疑惑可以回复我~

重复的document.write

1 回复 有任何疑惑可以回复我~

先执行的括号里的 document.write,所以先输出4,把后面那个document.write去掉改成document.write("数组的长度是:"+acv.length);

1 回复 有任何疑惑可以回复我~

先执行的括号里的 document.write所以先输出4,改成document.write("数组的长度是:"+ (acv.length)就行了;

1 回复 有任何疑惑可以回复我~

在document.write("数组的长度是:"+ document.write(acv.length));把后面那个document.write去掉改成document.write("数组的长度是:"+acv.length);试试

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么数组长度结果跑前面去了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信