我分析JavaScript的数据类型,我发现非常奇怪的事情:JavaScript的空值 - 它是一个对象
> typeof null
"object"
> null instanceof Object
false
目前我还是不知道我怎么能解释。我认为typeof === "object"
的所有产品在原型链中都有Object.prototype
。如果null
不是object
,那么为什么typeof
会返回?
PS有人已经给我写欢迎的JavaScript的古怪的世界;)
http://stackoverflow.com/a/7968470/594589 – dm03514
在一个稍微有关说明,看看'的Object.create(空)' – SLaks
@SLaks是略有不同,但是,因为你说“新对象的原型不应该是任何东西”,并且“Object.create(null).__ proto__”实际上被设置为“null”。 –