次のようなメソッド名の配列からいくつかのメソッドを定義したいと思います。
var methodNames = ['foo', 'bar', 'baz'],
randomObject = {}, method;
for( var i = methodNames.length - 1; i >= 0; --i ){
method = methodNames[ i ];
randomObject[ method ] = function(){
console.log( method );
}
}
そのため、オブジェクトが作成されます。このオブジェクトrandomObject
には、まったく同じことを実行するように定義されたすべてのメソッドがあります。問題は、呼び出されるメソッドの名前ではなく、すべてのメソッドが「foo」をログに記録することです。method
メソッドが呼び出されたときに変数を永続化するにはどうすればよいですか?