function a(){
alert("fun a() ");
}
함수 b(){
alert("fun b()");
}
var methodName = "";
//method1
methodName = "a";
function method1(methodName){
//this.func 속성 초기화,
this.func = function(){}; //여기서 eval 메소드를 사용하여 우리가 전달한 메소드 이름으로 표시되는 메소드를 객체로 처리하고 이를 method1의 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 (methodName );
try{
c.func();
}catch(e){
Ext.Msg.alert(methodName "()가 존재하지 않습니다!"); }