簡體   English   中英

JavaScript中的對象層次結構和類型:為什么Number和String是函數而不是對象?

[英]Object hierarchy and types in javascript: why Number and String are functions and not objects?

只是問為什么

typeof Number 

結果提供功能

其他內置對象(例如MathJSON)是對象,根據此答案( 內置對象層次結構在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM