问答详情
源自:2-8 较量较量(比较操作符)

为什么把document.write("numa大于numb的分数吗?"+jq1+"<br>") document.write("numa不等于numb的分数吗?"+ jq2);中的jq1和jq2换成numa>numb;numa!=numb这个代码就不能运行了?

var numa,numb,jq1,jq2;

numa=1;

numb=7;

jq1=numa>numb         ;

jq2=numa!=numb         ;

document.write("numa大于numb的分数吗?"+jq1+"<br>")

document.write("numa不等于numb的分数吗?"+ jq2);



提问者:学习使我进步 2017-02-22 12:57

个回答

  • 微小唯
    2017-02-22 15:55:42
    已采纳

    document.write("numa大于numb的分数吗?"+(numa>numb)+''+"<br/>");

    document.write("numa不等于numb的分数吗?"+ (numa!=numb)+'');

    加括号这样就可以啦

  • FatMi
    2017-02-22 18:36:03

    首先,

    操作符之间的优先级(高到低):

    算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号

    如果同级的运算是按从左到右次序进行,多层括号由里向外

    以第一条为例:document.write("numa大于numb的分数吗?"+numa>numb+"<br>")

    第一条的结果是true。

    +号被认定为算术运算符,先和前面的“numa大于numb的分数吗?” 做了运算,然后numb和后面的“<br>”做了运算最后再进行 > 比较运算,得出true值。

    你可以测试一下:

    var numa,numb;

    numa=1;

    numb=7;


    var x="numa大于numb的分数吗?"+numa;
    var y="<br>"+numb;
    var z=x>y;
     document.write(z);

  • White夏天baby
    2017-02-22 13:35:23

    你把换成的numa>numb;numa!=numb加上双引号试试

  • 慕粉1703136593
    2017-02-22 13:31:24

    var numa,numb,jq1,jq2;

    numa=1;

    numb=7;

    document.write("numa大于numb的分数吗?"+(numa>numb)+"<br>")

    document.write("numa不等于numb的分数吗?"+ (numa!=numb));

    你写成这样就可以运行,应该是+和>操作符运算优先级的关系