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

可不可以不定义jq1和jq2啊

为什么不可以不定义jq1和jq2,然后直接在下面代码中写入

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

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

正在回答

2 回答

可以不定义jq1和jq2得到同样的结果,需要通过加( )来提高优先计算级别,如

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

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

得到的结果也是: 

numa大于numb的分数吗?false

numa不等于numb的分数吗?true

但是 

document.write("numa大于numb的分数吗?"+numa>numb+"<br>");得到的结果是:true

因为"numa大于numb的分数吗?"+numa>numb+"<br>"计算类型是:String+Number>Number+String,根据运算法则,先计算+,在计算>,因此最后需要比较的是String>String,(String+Number = 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

同理,

document.write("numa不等于numb的分数吗?"+numa!=numb);返回的值也是true;//String+Number!=Number,及String!=Number,优先运算+,再运算!=,答案为true

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

可以啊,会有效果的,你自己看看

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

举报

0/150
提交
取消

可不可以不定义jq1和jq2啊

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