第1章 让自己习惯JavaScript
第1条 了解你使用的JavaScript版本
确保你使用的任何JavaScript特性对于应用程序将要运行的所有环境都是支持的;
总是在执行严格模式检查的环境中测试严格代码。
第2条 理解JavaScript的浮点数
事实上,JavaScript中所有的数字都是双精度浮点数。
位运算将数字视为32位的有符号整数。
浮点数权衡了精度和性能,当我们关心精度时,要小心浮点数的局限性。一个有效的解决方法是尽可能地采用整数值运算,因为整数在表示时不需要舍入。
第3条 当心隐式的强制转换
NaN是JavaScript中唯一一个不等于其自身的值,因此,你可以通过检查一个值是否等于其自身的方式来测试该值是否是NaN。
检查参数是否为undefined更为严格的方式是使用typeof。
对象通过valueOf方法强制转换为数字,通过toString方法强制转换为字符串。
第4条 原始类型优于封装对象
除了对象之外,JavaScript有5个原始值类型:布尔值、数字、字符串、null、undefined。
当对原始值提取属性和进行方法调用时,它表现得就像已经使用了对应的对象类型封装了该值一样。
获取和设置原始类型值的属性会隐式地创建封装对象。
第5条 避免对混合类型使用==运算符
null== undefined; 不转换,总是返回true
当参数类型不同时,==运算符应用了一套难以理解的隐式强制转换规则。
第6条 了解分号插入的局限
仅在“|”标记之前、一行的结束和程序的结束处推导分号。
<