document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br />")
},为什么直接写
document.write("myarr[i][j]的值:"+myarr[i][j]+"<br />")不可以呢?
}
变量和双引号之间用加号连接起来,那句其实相当于(符号+i+符号+j+符号),改成你那样就成了(符号+i符号+j符号)变量和符号没有分开,所以错了。搞清楚在双引号之间的是哪些东西就好了,双引号之间的原样输出。这里的符号其实就是双引号之间的东西。
你试试就知道了,i和j是变量,如果直接document.write("myarr[i][j]的值是:"+myarr[i][j]);的话,你所有的输出答案都是(myarr[i][j]的值是:)开头,i和j不会随着数组的行数和列数发生改变。
<script> var myarr=new Array(); for(i=0;i<2;i++){ myarr[i]=new Array(); for(j=0;j<2;j++){ myarr[i][j]=i*j; document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br />");//把这句再换成document.write("myarr[i][j]的值:"+myarr[i][j]+"<br />");看看有何差别。 } } </script>
var a=1,b=2; document.write("a+b");//输出的是a+b document.write(a+b); //输出的是3
这里i和j是变量,document.write();括号里可以是变量或字符串。如果是具体的元素,如array[2][3],就可以不加引号。所以变量和字符串要区别对待。
"myarr["+i+"]["+j+"]的值:"这样是会将i和j作为变量输出,而"myarr[i][j]的值:"纯粹就是输出字符串了。
示例:
var i = 2;
var j = 5;
document.write("myarr["+i+"]["+j+"]的值:");
//输出的内容是 myarr[2][5]的值:
document.write("myarr[i][j]的值:");
//输出的内容是 myarr[i][j]的值: