1.string 和 string 也能够关系运算
字符编码顺序:数字,大写字母,小写字母
'a'<'b' //true
'A'<'B' //true
'A'<'a' //true 大写字母在字符集里面是在小写字母前面
'1'<'A' //true 数字在字母前端
'blank'>'blue' //true
2. 与数字进行关系运算时,纯数字字符串被转换成数字, null 转换为0,true转换为1,false转换为0,null不能进行和0的相等判定
null <0.00001 //true
null > -0.0001 //true
null == 0 //false object?
false ==0 //true
true==1 //true
NAN 不能和自己进行相等运算 不等于自己 不全等于自己
3.逻辑运算符
&& 逻辑与运算 "且" 都真才真
|| 逻辑或运算 "或" 有真就真,都假才假
! 逻辑非运算 "非" 相反的
正统来说,参与逻辑运算的是boolean和Boolean,得到的结果也是Boolean 值按照真值来表定
逻辑运算符的 "短路语法" :
如果计算机计算一个且运算时,比如a&&b,当计算机发现a是false时,将不会计算b,直接输出false,
如果a是true,不管b是什么,直接把b当做结果输出.
比如: false && 8 --> false , true && 8 -->8
null && 8 --> null 因为计算机发现,且运算a已经是false性的了,直接扔出来null12&&13 -->13 13&&12 -->12
当前面的存在 且为正性的话,直接输出后面的内容.
document.documentElement && document.document.documentElement.clientWidth = "500px";
实质上计算机进行a&&b运算的时候,不是在进行逻辑分析,要么a,要么b, 如果a是正性的,直接输出b,如果a是负性的,直接扔出a.
---要么a被短路,要么b被短路啊11负性的:false,null,0,NaN ,空字符串(""),undefined
正性的: 除了上面的,全是正性的.
|| 逻辑或的短路语法也类似. 计算机发现a是真,那么扔a,发现a是假,输出b
4.赋值运算符
= 赋值
+= 等价于 先加再赋值