为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

3 回答

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

1 回复 有任何疑惑可以回复我~
#1

慕粉3438060 提问者

非常感谢!
2016-07-08 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信