繁体   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