语法
typeof x
typeof(x)
意义
typeof 是一元运算符,放在单个操作数的前面,操作数可以是任何类型。返回值为它的类型。
类型
| x | typeof x |
|---|---|
| undefined | "undefined" |
| null | "object" |
| true或false | "boolean" |
| 数字或NaN | "number" |
| 任意字符串 | "string" |
| 任意函数 | "function" |
任意内置非函数对象(如windows) |
"object" |
| 任意宿主对象 | 由编译器各自实现的字符串,但不是"undefined","boolean","number"或"string" |
注意:
-ES5将所有可执行对象,包括内置对象(native object)和宿主对象(host object),都返回 "function"
ECMA-262 把内置对象(built-in Object) 定义为“由ECMAScript实现提供的,独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现”。 开发者不必明确实列化内置对象,他已经被实列化了。ECMA-262只定义了两个内置对象,Global 和 Math(他们是本地对象,根据定义,每个内置对象都是本地对象)。
宿主对象:所有本地对象都是宿主对象,即由ECMAScript实现的宿主环境提供的对象。所有BOM和DOM对象都是宿主对象。
作用域: ECMAScript中的所有对象的所有属性和方法都是公共的。
| | "" |