[英]Object hierarchy and types in javascript: why Number and String are functions and not objects?
只是問為什么
typeof Number
結果提供功能 。
其他內置對象(例如Math或JSON)是對象,根據此答案( 內置對象層次結構在javascript中是什么樣? ),它們都應與Object相關,而不與Function相關 。
JavaScript設計缺陷還是其中的意義? 這個答案正確嗎?
Function構造函數創建一個新的Function對象。 在JavaScript中,每個函數實際上都是一個Function對象。
功能是榮耀的對象。
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Function
當然,但是真正的問題是為什么String從Function繼承而JSON從Object繼承。 我看不出這有什么意義。 例如,如果您將一個方法添加到Function原型,則String可以使用它,而JSON不可用。
JavaScript對象是鍵和值之間的映射。 鍵是字符串,值可以是任何值。 這使對象自然適合哈希圖。
函數是常規對象,具有可調用的附加功能。
您可以實例化一個String,但是不能實例化Math對象。 這也許是使您困惑的事實。
alert(new String()); alert(new Math());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.