对象是否为null?

可能重复:
JavaScript中的空对象

空是一个对象吗? 所以如果我将x设置为null,为什么我不能获得构造函数值?

 var x = null;
 alert(typeof x);
 alert(x.constructor);

JS中的null是一个原始值。 它不是由任何构造函数构造的,所以它没有constructor属性。 typeof null'object'基本上是由于历史原因保留的一个可怕的谎言。 不要指望JS的过于一致,你会失望!

由于自动装箱,原始值通常可以像JS中的对象(1).constructor工作: (1).constructor尽管1也是一个原始值,但它会隐式地调用new Number(1) 。 但是没有对象形式的null (或undefined )自动转换为,所以在这种情况下,你会得到一个错误。

一般来说,你应该避免使用constructor 。 对于构建在JS之上的许多类/实例模型,它不会完全按照您的想法进行操作。 instanceof通常效果更好。


Null不是Javascript中的对象 - null是null基元类型的单数实例,因此没有构造函数。

链接地址: http://www.djcxy.com/p/76327.html

上一篇: Is null an object?

下一篇: Is null an object in JavaScript?