我认为Function
对象是 JavaScript 中的唯一实例。所有其他的function(){...}
或var xx=function(){...}
都是从这个对象继承的Function
对象。那是基于原型的语言特性。并且在基于原型的语言中没有Class
,它的优点之一是对象可以随时更改。例如添加方法或向其中添加属性。所以,我认为我们可以将其视为object
键值集合。您可以在创建后随时将项目添加到其中。(如果我错了,请纠正我。)
假设你有代码:
Function.test=function(){
alert(Function.name);//"Function"
alert(Function.myName);//"fun"
};
Function.name="fun";
Function.myName="fun";
Function.test();
在上面的代码中,我要做的就是test
向对象添加一个方法Function
。这段代码没有发现错误。但是为什么Function.name
不能改变呢?