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

为什么numa>numb 要重新赋值变量

这个为什么numa>numb要重新赋值jq1呢?为什么不像前面的例子当中的一样直接用numa>numb呢?我试了一下,变成这样了,为什么不像例子里面那样的http://img.mukewang.com/577f274800014e0708160342.jpg

提问者:慕粉3438060 2016-07-08 12:08

个回答

  • qq_长思成病_0
    2016-07-08 12:43:12
    已采纳

    numa>numb返回的是一个布尔值(true/false),jq1=numa>numb结果就是jq1=(true/false),再输出出来。你直接把numa>numb写到输出语句里需要把引号去掉加个小括号(numa>numb),这样就可以了。加上引号就是输出引号里边的字符串,而不是它的结果。如果你把 jq1加上双引号 写到输出语句里,那输出的结果是jq1本身,而不是numa>numb的结果。

  • TOTO晶
    2016-07-08 14:37:34

    document.write(exp1,exp2,exp3,....)

    exp1,exp2,exp3,....是指字符串参数,这些字符串参数可以是变量或值为字符串的表达式.

    另外需要知道:

    String+Boolean =String 如 var a = "1"+true  则 a ="1true"

    String+String =String 如 var a ="1" +" aa" 则 a ="1aa"

    String +Number =String 如 var a ="1"+ 2 则 a ="12"

    举例:

    var numa,numb,jq1;

    numa=1;

    numb=7;

    jq1=numa>numb;


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

    //String+Boolean+String 最后得到String 

    结果: numa大于numb的分数吗?false

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

    //String+String+String  最后得到String 

    结果: numa大于numb的分数吗?numa>numb

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

    //String+String+String  最后得到String

    结果: numa大于numb的分数吗?(numa>numb)

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

    //String+(Number>Number)+String,根据运算法则,此时的(numa>numb)会优先运算,就是先算括号里再看括号外,(numa>numb)为(1>7),得到false;然后运算String+Boolean+String,最后得到String ;

    结果: numa大于numb的分数吗?false

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

    //String+Number>Number+String,根据运算法则,先计算+,在计算>,因此最后需要比较的是String>String,即"numa大于numb的分数吗?1">"7<br>",值为true.所以最后document.write()返回true

    注: 当关系运算符操作,两个操作数都是字符串(String)时,比较两个字符串对应的字符编码值(即Unicode)

    "numa大于numb的分数吗?1"的第一位是n,"7<br>"的第一位是7,n的字符编码值为110,7的字符编码值为55,110比55大,返回true

    结果: true

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

    ////String+Number+String+Number+String  最后得到String 

    结果: numa大于numb的分数吗?1>7

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

    //String+String>String+String,同理于(5),"numa大于numb的分数吗?numa">"numb<br>",前三位n,u,m的值都相同,比较第四位,a的字符编码值为97,b的字符编码值为98,97比98小,结果为false

    结果: false

  • 一个自学Web前端的小白
    2016-07-08 12:37:36

    不要加引号,加了引号他就成为了字符串了,就不是变量。写成document.write(“numa大于numb的分数吗?”+numa+">"+numb)