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

为什么把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);



正在回答

4 回答

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

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

加括号这样就可以啦

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

学习使我进步 提问者

非常感谢!
2017-02-22 回复 有任何疑惑可以回复我~

首先,

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

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

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

以第一条为例: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);

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

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

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

学习使我进步 提问者

前面var 定义了的,应该不用加""号吧!
2017-02-22 回复 有任何疑惑可以回复我~

var numa,numb,jq1,jq2;

numa=1;

numb=7;

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

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

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

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

举报

0/150
提交
取消

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

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