JavaScript的历史
- 布莱登十天设计JS的最初版本
- JS标准,GMail,移动端,node.js 走对风口
JavaScript的10个设计陷阱
-
不适合开发大型程序
-
非常小的标准库
-
null和undefined
在编程实践中,null几乎没用,根本不应该设计它。
typeof null; // object typeof undefined; // undefined -
全局变量难以控制
-
自动插入行尾分号
-
加号运算符
+号作为运算符,有两个含义,可以表示数字与数字的和,也可以表示字符与字符的连接。
-
NaN
NaN是一种数字,表示超出了解释器的极限。它有一些很奇怪的特性:
NaN === NaN; //false NaN !== NaN; //true alert( 1 + NaN ); // NaN -
数组和对象的区分
Javascript的数组也属于对象(object)
-
== 和 ===
- ==用来判断两个值是否相等。当两个值类型不同时,会发生自动转换,得到的结果非常不符合直觉。
- 推荐任何时候都使用"==="(精确判断)比较符。
-
基本类型的包装对象
- Javascript有三种基本数据类型:字符串、数字和布尔值。它们都有相应的建构函数,可以生成字符串对象、数字对象和布尔值对象。
- 与基本数据类型对应的对象类型,作用很小,造成的混淆却很大。
new Boolean(false); new Number(1234); new String("Hello World"); alert( typeof 1234); // number alert( typeof new Number(1234)); // object