我想从一组方法名称中定义几个方法,如下所示:
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 );
}
}
这样我就得到了一个 object randomObject
,它定义了所有方法,做着完全相同的事情。问题是,每个方法都记录“foo”而不是被调用方法的名称。method
调用方法时如何使变量保持不变?