###基础
undefined 不是保留字,可以作为变量名出现在全局作用域以外的其他作用域。
1 | // 全局下的 undefined 不可写 |
通过 typeof 来判断变量是否已声明。
1 | typeof x === 'undefined' // 返回 true |
如何判断变量的值既不是 undefined 也不是 null ?
1 | typeof null |
如何区分对象值和原始值 ?
1 | // 普通的方法 |
获得原始值的类型(修正了 typeof null 返回 object 的错误)
1 | function getPrimitiveTypeName(x) { |
void 运算符是给指定表达式求值,并且返回 undefined,通常只用于获取 undefined 的原始值。
1 | var x; |
在使用立即执行函数表达式时,可以利用 void 运算符让 JavaScript 引擎把一个函数识别成函数表达式而不是函数声明(语句)。
1 | void function iife() { // 去掉 void 会抛出异常,函数声明不能立即执行。 |