七77777
2019-03-12 14:39
<!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>无标题文档</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>
汉字比较是通过unicode比较的,可以测试“张”和“李”的unicode编码分别为多少,var z="张".charCodeAt();var l = "李".charCodeAt(); 可以得出z=24352,l=26446,z(24352)<(26446),所以张<李,已经得出结果,所以“飞”和“白”不用再进行比较。则得出最终结果“张飞”<“李白”。
来来来,已老夫30多年写代码的经验来告诉你这个小白。
首先你要搞清楚真与假这个概率,首先true是真,false是假。。同时真也代表1,假就代表0。(回顾一下课程就明白)
第一个 var d = 3>(1>2) 这其实就是一道小学生都会做的运算,有括号的我们就先算括号里面的嘛,括号里面你看一下1>2是真还是假? 肯定是假对不对,同时我刚才也说了假是不是就是等于0,所以再拿3>0,所以这样你输出来是不是就是真,也就是true
第二个跟第一个同理
第三个,这里面对比的就是编码值了,因为是中文。每个汉字其实在计算机里面都有个编码值:打个比方‘爱’这个字的编码值是2000,‘我’这个字的编码值是1500.。那'爱'>'我'比较那肯定就是true。。(具体每个汉字对应的编码值可以上百度搜索)
如果听懂了,希望采纳。谢谢
在js做比较的时候,有这样的三条规则:
1.如果比较的两者中有bool,会把 bool 先转换为对应的 number,即 0 和 1
2.如果比较的双方中有一方为number一方为string,会把string转换为数字
3.把string直接转换为bool的时候,空字符串‘'转换为 false,除此外的一切字符串转换为 true
似乎true是1,false是0。
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题