課程
/前端開發
/JavaScript
/JavaScript進階篇
這個為什么numa>numb要重新賦值jq1呢?為什么不像前面的例子當中的一樣直接用numa>numb呢?我試了一下,變成這樣了,為什么不像例子里面那樣的
2016-07-08
源自:JavaScript進階篇 2-8
正在回答
numa>numb返回的是一個布爾值(true/false),jq1=numa>numb結果就是jq1=(true/false),再輸出出來。你直接把numa>numb寫到輸出語句里需要把引號去掉加個小括號(numa>numb),這樣就可以了。加上引號就是輸出引號里邊的字符串,而不是它的結果。如果你把 jq1加上雙引號 寫到輸出語句里,那輸出的結果是jq1本身,而不是numa>numb的結果。
慕粉3438060 提問者
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?;
(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
不要加引號,加了引號他就成為了字符串了,就不是變量。寫成document.write(“numa大于numb的分數嗎?”+numa+">"+numb)
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
4 回答為什么輸入numa=numa++;numb=numb--;不對?
1 回答為什么numa>numb||numa=numb,不能顯示結果
2 回答jq1=numa>=numb;和jq1=numa>numb||numa==numb;有什么區別
3 回答numa>numb和numa!=numb 都算是布爾值嗎?
4 回答我去掉numa,numb的賦值,也能運行成功?為毛?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-08
numa>numb返回的是一個布爾值(true/false),jq1=numa>numb結果就是jq1=(true/false),再輸出出來。你直接把numa>numb寫到輸出語句里需要把引號去掉加個小括號(numa>numb),這樣就可以了。加上引號就是輸出引號里邊的字符串,而不是它的結果。如果你把 jq1加上雙引號 寫到輸出語句里,那輸出的結果是jq1本身,而不是numa>numb的結果。
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
2016-07-08
不要加引號,加了引號他就成為了字符串了,就不是變量。寫成document.write(“numa大于numb的分數嗎?”+numa+">"+numb)