function foo() {
var bar = this.bar = function() {
return "bar";
};
this.mybar = function() {
return bar();
}
}
var myFoo = new foo();
myFoo.bar = function() {
return "notbar";
};
myFoo.bar(); // returns 'notbar'
myFoo.mybar(); // returns "bar"
は、基本的には、外部アクセスのために上書きされる可能性と、クロージャ内部のプライベートメソッドを可能にします。したがって、元の関数への参照は、クロージャ内のその関数の参照のために決して変更されません。しかし、クロージャーオブジェクトのインスタンシエーターは、そのオブジェクトの機能性を損なうことなくその機能を上書きすることができます。
この特定のコンストラクトの名前はありますか、それは役に立ちますか?
これ以上のJavaScriptのように見えます。 – ulidtko