1 function a(){
2 alert("fun a()");
3 }
4 function b(){
5 alert("fun b()");
6 }
7 var methodName = "";
8 //method1
9 methodName = "a";
10 function method1(methodName){
11 //初始化this.func属性,
12 this.func = function(){};
13 try{
14 //这里用eval方法,把我们传进来的这个方法名所代表的方法当作一个对象来赋值给method1的func属性。
15 //如果找不到methodName这个对应的对象,则eval方法会抛异常
16 this.func = eval(methodName);
17 }catch(e){
18 alert(methodName+"()不存在!");
19 }
20 }
21 var c = new m(methodName);
22 c.func();
23
24 /**
25 * method2, 比较简洁
26 */
27 methodName = "b";
28 function method2(methodName){
29 this.func = new Function(methodName+"();");
30 }
31 var c = new m(methodName);
32 try{
33 c.func();
34 }catch(e){
35 Ext.Msg.alert(methodName+"()不存在!");
36 }