javascript 中的对象层次结构和类型:为什么 Number 和 String 是函数而不是对象?

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

就问为什么

typeof Number 

因此提供了功能

其他内置对象,如 MathJSON 是对象,并且根据此答案(What does the built in object hierarchy look like in javascript? ),它们都应该与 Object 有关,而不是 Function

Javascript 设计缺陷还是其中有什么意义? 这个答案正确吗?

The Function constructor creates a new Function object. In JavaScript every function is actually a Function object.

函数是美化对象。

https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Function

Of course, but the real question is why String Inherits from Function and JSON Inherits from Object. I can see no sense in this. For example if you add a method to the Function prototype, it will be available to String but not to JSON

一个JavaScript对象是键和值之间的映射。键是字符串,值可以是任何东西。这使得对象自然适合散列映射。

函数是具有可调用附加功能的常规对象。

您可以实例化一个字符串,但您不能实例化一个数学对象。这可能是让你困惑的事实。

alert(new String());
alert(new Math());