日期:2014-05-16  浏览次数:20352 次

关于typeof的问题
var   bTrue=true;
var   oFalseObject   =new   Boolean(false);
alert(typeof   bTrue);     //输出的是boolean
alert(typeof   oFalseObject);   //输出的是object

为什么是这个结果呢


------解决方案--------------------
在javascript中,值有原始值与引用值。原始值包括:Boolean, Number, String, undefined, null(null,我自己有点疑问)
javascript的本地类型(是引用值类型)有:Object, Boolean, Number, String, Date, Array, Function, RegExp

typeof bTrue //bTrue是Boolean原始值
typeof oFalseObject //oFalseObject是对象,他是原始值Boolean的引用类型

alert(oFalseObject instanceof Boolean); //oFileObject是Boolean引用类型的实例

alert(bResult instanceof Boolean); //bResult在哪里定义了,我怎么没发现呢?

------解决方案--------------------
补充一点:
使用typeof运算符,如果变量是引用类型,返回的都是object
------解决方案--------------------
JGood正解,补充一下,引用类型还有各种Error
RangeError,好几个,记不清了