Function
オブジェクトは JavaScript で唯一のインスタンスだと思います。他のすべてのfunction(){...}
orvar xx=function(){...}
は、このオブジェクトから継承されたFunction
オブジェクトです。それがプロトタイプベースの言語機能です。また、プロトタイプベースの言語には がありませんClass
。その利点の 1 つは、メソッドの追加やプロパティの追加など、いつでもオブジェクトを変更できることです。object
したがって、キーと値のコレクションのように扱うことができると思います。作成後、いつでも項目を追加できます。(私が間違っていたら、私を訂正してください。)
コードがあるとします:
Function.test=function(){
alert(Function.name);//"Function"
alert(Function.myName);//"fun"
};
Function.name="fun";
Function.myName="fun";
Function.test();
上記のコードでやりたいことは、オブジェクトにtest
メソッドを追加することだけです。Function
このコードにエラーは見つかりませんでした。しかし、なぜFunction.name
変更できないのでしょうか。