為什么把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
document.write("numa大于numb的分數嗎?"+(numa>numb)+''+"<br/>");
document.write("numa不等于numb的分數嗎?"+ (numa!=numb)+'');
加括號這樣就可以啦
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);
2017-02-22
你把換成的numa>numb;numa!=numb加上雙引號試試
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));
你寫成這樣就可以運行,應該是+和>操作符運算優先級的關系