這段代碼最終結(jié)果是true,false,true,哪位大佬幫我解釋一下怎么出來的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標(biāo)題文檔</title>
</head>
<script>
var d= 3>(1>2);
document.write(d);
document.write("<br>");
var e= 3<(6>2);
document.write(e);
document.write("<br>");
var f="張飛"<"李白";
document.write(f);
</script>
<body>
</body>
</html>
2020-06-16
漢字比較是通過unicode比較的,可以測試“張”和“李”的unicode編碼分別為多少,var z="張".charCodeAt();var l = "李".charCodeAt(); 可以得出z=24352,l=26446,z(24352)<(26446),所以張<李,已經(jīng)得出結(jié)果,所以“飛”和“白”不用再進(jìn)行比較。則得出最終結(jié)果“張飛”<“李白”。
2019-03-12
來來來,已老夫30多年寫代碼的經(jīng)驗(yàn)來告訴你這個(gè)小白。
首先你要搞清楚真與假這個(gè)概率,首先true是真,false是假。。同時(shí)真也代表1,假就代表0。(回顧一下課程就明白)
第一個(gè) var d = 3>(1>2) 這其實(shí)就是一道小學(xué)生都會(huì)做的運(yùn)算,有括號(hào)的我們就先算括號(hào)里面的嘛,括號(hào)里面你看一下1>2是真還是假? 肯定是假對(duì)不對(duì),同時(shí)我剛才也說了假是不是就是等于0,所以再拿3>0,所以這樣你輸出來是不是就是真,也就是true
第二個(gè)跟第一個(gè)同理
第三個(gè),這里面對(duì)比的就是編碼值了,因?yàn)槭侵形?。每個(gè)漢字其實(shí)在計(jì)算機(jī)里面都有個(gè)編碼值:打個(gè)比方‘愛’這個(gè)字的編碼值是2000,‘我’這個(gè)字的編碼值是1500.。那'愛'>'我'比較那肯定就是true。。(具體每個(gè)漢字對(duì)應(yīng)的編碼值可以上百度搜索)
如果聽懂了,希望采納。謝謝
2019-03-12
在js做比較的時(shí)候,有這樣的三條規(guī)則:
1.如果比較的兩者中有bool,會(huì)把 bool 先轉(zhuǎn)換為對(duì)應(yīng)的 number,即 0 和 1
2.如果比較的雙方中有一方為number一方為string,會(huì)把string轉(zhuǎn)換為數(shù)字
3.把string直接轉(zhuǎn)換為bool的時(shí)候,空字符串‘'轉(zhuǎn)換為 false,除此外的一切字符串轉(zhuǎn)換為 true
2019-03-12
似乎true是1,false是0。