入力を格納された値だけ単純にインクリメントする関数を定義するとしますdd
。
var obj={}
obj.dd=1
obj.f=function(x){
return x+this.dd
}
または、次のようにクロージャーを作成することもできますdd
が、これにより、後で変更できるものではなく、静的なインクリメントが作成されます。
var dd=1
var f=function(x){
return x+dd
}
dd
または、関数自体に格納することもできます。
var obj={}
obj.f=function(x){
return x+this.f.dd
}
obj.f.dd=1
self
関数が親オブジェクトを経由せずに、関数自体にアタッチされた変数を取得できるかどうか、関数自体を参照して次のことを許可するキーワードのようなものが可能かどうかについて興味があります。
var f=function(x){
return x+self.dd
}
f.dd=1
そんなことをしなくてもいいのはわかっていますが、できたらかっこいいと思います。