function a(){
alert("fun a() ");
}
function b(){
alert("fun b()");
}
var methodName = "";
//method1
methodName = "a";
function method1(methodName){
//this.func プロパティを初期化します、
this.func = function(){}; //ここで eval メソッドを使用して、渡したメソッド名で表されるメソッドをオブジェクトとして扱い、それをメソッド 1 の func 属性に割り当てます。
//methodName の対応するオブジェクトが見つからない場合、eval メソッドは例外をスローします
this.func = eval(methodName);
}catch(e){
alert(methodName " () は存在しません! ");
}
}
var c = new m(methodName);
c.func();
/**
* メソッド 2、比較的簡潔
*/
methodName = "b";
function method2(methodName){
this.func = new Function(methodName "();");
var c = new m (メソッド名 );
try{
c.func();
}catch(e){
Ext.Msg.alert(メソッド名 "() が存在しません!"); }