我想了解編寫m = Number()
(導致typeof m
評估爲"number"
)與m = new Number()
(導致typeof m
評估爲"object"
)之間的差異。Number()vs new Number()?
我會預料它是一個object
無論哪種方式。我只是瞎搞,我增加了一個.helloWorld()
方法將Number
原型,我能夠訪問它m
不管我用它實例哪種方法。
這裏有什麼區別?我在寫和new Number()
時做了什麼不同?爲什麼一個是object
而另一個是number
?
執行一個構造而不'new'可以揍的'window'對象。 –
本系列文章中的圖表爲我闡明瞭JS對象模型:http://howtonode.org/object-graphs-2。 –
「[*當** Number **作爲函數調用而不是作爲構造函數調用時,它執行類型轉換。*](http://www.ecma-international.org/ecma-262/5.1/#sec -15.7.1)「vs.」[*當** Number **作爲** new **表達式的一部分被調用時,它是一個構造函數:它初始化新創建的對象。*](http:// www。 ecma-international.org/ecma-262/5.1/#sec-15.7.2)「 –