知识要点:
- 严格的相等 使用 “===” ,三个等
- 分号虽然不强制,最后加上,免得解释器猜错,还有在压缩代码,优化回车换行的代码的时候,会出现异常
- “123”.length 是对象的属性,不是函数,这点和java不同.
- undefined 没有值, null 没有对象
- undefined , null ,false ,0 ,NaN ,和 “”都可以视为false
- 对象使用 === 比较的是标识,而不是内容
var obj1 ={};
var obj2 ={};
obj1 === obj2 ; //false
obj1 === obj2 ; //true
typeof 主要用于原始值判断类型,instanceof 主要用于对象值
typeof "123"; //string [] instanceof object // true null instaceof object //true
Boolen()会将传入的参数转换为布尔值
Boolean(0) //false Boolean(undefined) //false Boolean(3) //true Boolean([]) //true 空数组也是真 Boolean({}) //true 空对象也是真
逻辑运算
&& 若第一个运算是假返回它,否则返回第二个
NaN && 'abc' // 返回NaN 123 && "456" //返回 "456"
|| 若第一个为真 返回它,否则返回第二个
'abc' || 123 // 返回 'abc' ''|| 123 //返回123
—-<深入理解javascript> 快速上手