JavaScript中的函数对象

Function object in JavaScript

本文关键字:对象 函数 JavaScript      更新时间:2023-09-26

我认为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();

在上面的代码中,我所要做的就是向Function对象添加一个test方法。在此代码中没有发现错误。但是为什么Function.name不能改变呢?

首先这个属性不是标准的。这意味着不同的浏览器可以根据自己的需要来处理它。第二,根据MDN,它是只读的

来自MDN的页面声明Function的名称不能更改,因为它是只读的