javascript 中的对象层次结构和类型:为什么 Number 和 String 是函数而不是对象?
Object hierarchy and types in javascript: why Number and String are functions and not objects?
就问为什么
typeof Number
因此提供了功能。
其他内置对象,如 Math 或 JSON 是对象,并且根据此答案(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());
就问为什么
typeof Number
因此提供了功能。
其他内置对象,如 Math 或 JSON 是对象,并且根据此答案(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());