关于typeof
typeof 作为操作符返回一个字符串,表示未经过计算的操作数的类型
语法typeof运算符后面跟操作数:
typeof operand
or
typeof (operand)
operand是一个表达式,表示对象或原始值,其类型将被返回,括号是可选的.
类型 |
结果 |
Undefined |
"undefined" |
Null |
"object"(见下文) |
Boolean |
"boolean" |
Number |
"number" |
String |
"string" |
Symbol (ECMAScript 6 新增) |
"symbol" |
宿主对象(由JS环境提供) |
Implementation-dependent |
函数对象([[Call]] 在ECMA-262条款中实现了) |
"function" |
任何其他对象 |
"object" |
注意:
// 下面的容易令人迷惑,不要使用!
typeofnew
Boolean(true)
===
'object';
typeofnew
Number(1)
===
'object';
typeofnew
String("abc")
===
'object';
当用“new”关键字实例化时,所有构造函数的类型总是“object
但是javascript的函数构造函数有一个异常
varfunc
=new
Function();
typeoffunc
;// It will return 'function'