还是没看懂"myarr["+i+"]是什么意思?

来源:3-7 二维数组

卡兰尼克

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循环语句是连用的吗




写回答 关注

5回答

  • 老友丶
    2016-11-02 23:14:30
    已采纳

    看你还没采纳任何一个答案,再来回答一下嘛。(强迫症)

    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);  

    这样子是可以的因为+运算符将两个字符串连接为了一个字符串(第一次回答的时候说了)。方法接受一个正确形式的参数。就可以输出了。

    卡兰尼克

    哦 我擦擦擦擦 终于看懂了 结束强迫症。。。。。谢谢小哥哥

    2016-11-02 23:21:02

    共 1 条回复 >

  • 慕哥6856040
    2016-11-01 21:21:35

    []完全就是为了显示出来的  不起作用  就像前面document.write("我要显示出来[]"+myarra)

  • 慕哥6856040
    2016-11-01 19:42:04

    document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");

    估计你看错了 后面的分开看document.write(             "myarr["             +i+           "]["          +j+                  "]的值:"                   +myarr[i][j]+"<br>");     这样能看懂了吧

    卡兰尼克

    连着空格的吗。。。。

    2016-11-01 20:36:31

    共 1 条回复 >

  • 老友丶
    2016-10-31 22:55:08

    首先回答第一个吧:其实你那个可以换成

    document.write("myarr[");

    document.write(i);

    document.wirte("][");  //后面就省略不写了。这样可能就是你说的那种,但是你不觉得上面的代码更加简洁吗?简洁的代码也是优秀代码的一个方面。至于+号,那是因为字符串中的加号是起连接字符串的作用的。比如

    var a="java";

    var b="script";

    var c=a+b;    //c就是"javascript"

    这里就是连接数字和字符串,数字应该会被隐式转换。


    第二个问题,我所知道的二维数组(我也是初学者)都是for循环实现的,因为你要遍历每一行每一列,for循环是最方便的。


    望采纳。

    老友丶 回复卡兰尼克

    myarr[ 这就是一个字符串啊。后面的 ][ 也是一个字符串啊

    2016-11-01 08:32:14

    共 2 条回复 >

  • 风紫狐
    2016-10-31 22:53:39

    1、"myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");中,i和j两个是变量,双引号中的内容是常量,中间用连接符+来连接表示在i的位置是输出的是i的值,类似于字符串"abc" + "bcd",这里是把i替换成对于的数值。

    2、使用循环是为了遍历,如果你不需要遍历完整个值,只是获取某个位置的值则可以不使用。类似的可以使用while等循环,只是实现方式不一样而已。

    慕粉4321... 回复卡兰尼克

    意思就是var style=1 document.write("结果:"+style) 结果不是变量只是描述变量 所以 要加 "" style是变量不用加, 所以显示的效果是 结果:1

    2016-11-04 12:13:37

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题