卡兰尼克
2016-10-31 22:13
var myarr=new Array();
for(var i=1;i<3;i++)
{
myarr[i]=new Array();
for(var j=1;j<6;j++)
{
myarr[i][j]=i*j;
document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");
}
把"myarr["+i+"]["+j+"]中的+号去掉以后屏幕上就不会显示
myarr[1][1]的值:1
myarr[1][2]的值:2
myarr[1][3]的值:3
myarr[1][4]的值:4
myarr[1][5]的值:5
myarr[2][1]的值:2
myarr[2][2]的值:4
myarr[2][3]的值:6
myarr[2][4]的值:8
myarr[2][5]的值:10
而是只显示数字。。
为什么要在这上面加两个+ 是什么意思啊???
如果只是连字符 那么只用document.write("")用引号不就行了吗?
2.第二个问题。。。
如果想要使用二维数组一定要使用for循环语句吗??
二维数组和for循环语句是连用的吗
看你还没采纳任何一个答案,再来回答一下嘛。(强迫症)
document.write():方法,接收一个参数,而且参数还要是字符串类型的。
所以document.write("abc"); //就输出abc,因为"abc"是字符串。
但是document.write(abc); //这样就会报错,因为abc不是字符串。
再但是 var abc="arry[ "
document.write(abc);这样就不会报错,会输出arry[,因为方法调用之前会将abc转为“arry[”。接收参数正确。所以对了。
但是像你说的document.write("abc"i); //参数"abc"i不是字符串,所以不会有反应。
document.write("abc"+i);
这样子是可以的因为+运算符将两个字符串连接为了一个字符串(第一次回答的时候说了)。方法接受一个正确形式的参数。就可以输出了。
[]完全就是为了显示出来的 不起作用 就像前面document.write("我要显示出来[]"+myarra)
document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");
估计你看错了 后面的分开看document.write( "myarr[" +i+ "][" +j+ "]的值:" +myarr[i][j]+"<br>"); 这样能看懂了吧
首先回答第一个吧:其实你那个可以换成
document.write("myarr[");
document.write(i);
document.wirte("]["); //后面就省略不写了。这样可能就是你说的那种,但是你不觉得上面的代码更加简洁吗?简洁的代码也是优秀代码的一个方面。至于+号,那是因为字符串中的加号是起连接字符串的作用的。比如
var a="java";
var b="script";
var c=a+b; //c就是"javascript"
这里就是连接数字和字符串,数字应该会被隐式转换。
第二个问题,我所知道的二维数组(我也是初学者)都是for循环实现的,因为你要遍历每一行每一列,for循环是最方便的。
望采纳。
1、"myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");中,i和j两个是变量,双引号中的内容是常量,中间用连接符+来连接表示在i的位置是输出的是i的值,类似于字符串"abc" + "bcd",这里是把i替换成对于的数值。
2、使用循环是为了遍历,如果你不需要遍历完整个值,只是获取某个位置的值则可以不使用。类似的可以使用while等循环,只是实现方式不一样而已。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题