问答详情
源自:3-6 了解成员数量(数组属性length)

3.6问题 求大神帮帮忙

document.write("数组的最大下标是:"+(mynum.length-1));

这个结果正确

document.write("数组的最大下标是:"+mynum.length-1);

去掉  mynum.length-1  的括号后结果为   NAN  我不是很清楚这是为什么

求大神帮帮忙!



提问者:慕慕8192380 2017-12-25 11:45

个回答

  • 慕前端4547676
    2017-12-25 16:18:13
    已采纳

    因为去掉后 程序判断

    document.write("数组的最大下标是:"+mynum.length  //按顺序执行到这边,发现-1就懵逼,出错了                                    -1);


    加括号是优先级,你先算出长度值,再++++++上前面的字符串,你想办法得到结果就好,不要想那么多为什么。。。


  • 屠龙的小熊猫
    2019-01-09 19:31:14

    因为被当成了连字符

  • Coffee_15
    2017-12-25 16:05:08

    NaN 是代表非数字值的特殊值。减号左边操作数为字符串,无法执行减法操作,所以提示NaN

  • 慕少9123439
    2017-12-25 14:50:33

    符号具有优先级,当你去掉括号时,系统不清楚你先加后减,还是先mynum.length-1。

    mynum.length-1的意思是数组长度-1,为数组最大下标,所以不能去掉括号

  • qq_追忆丶童话_04010142
    2017-12-25 14:45:45

    document.write()方法中"**"+ 已经被判断为字符串了,这里的+是被判定为字符串的连接,这里的操作符已经不是运算符了