问答详情
源自:3-7 二维数组

输出二维数组的值的时候为什么要这样写?

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

    },为什么直接写

   document.write("myarr[i][j]的值:"+myarr[i][j]+"<br />")不可以呢?

    }


提问者:Alipne 2016-04-17 10:47

个回答

  • 一只特立独行的doge
    2016-04-18 10:55:24
    已采纳

    变量和双引号之间用加号连接起来,那句其实相当于(符号+i+符号+j+符号),改成你那样就成了(符号+i符号+j符号)变量和符号没有分开,所以错了。搞清楚在双引号之间的是哪些东西就好了,双引号之间的原样输出。这里的符号其实就是双引号之间的东西。

  • 一只特立独行的doge
    2016-04-18 10:43:54

    你试试就知道了,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>


  • 慕粉3173051
    2016-04-17 15:12:36

    var a=1,b=2;
    document.write("a+b");//输出的是a+b
    document.write(a+b); //输出的是3


  • 慕之光
    2016-04-17 11:13:45

    这里i和j是变量,document.write();括号里可以是变量或字符串。如果是具体的元素,如array[2][3],就可以不加引号。所以变量和字符串要区别对待。

  • MrLion2042
    2016-04-17 11:07:02

    "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]的值: