您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

JS根据变量保存方法名并执行方法示例

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 用eval方法,把传进来的这个方法名所代表的方法当作一个对象来赋值给method1的func属性,需要的朋友可以参考下

 代码如下: function a(){  alert("fun a()");  }  function b(){  alert("fun b()");  }  var methodName = "";  //method1  methodName = "a";  function method1(methodName){  //初始化this.func属性,  this.func = function(){};  try{  //这里用eval方法,把我们传进来的这个方法名所代表的方法当作一个对象来赋值给method1的func属性。  //如果找不到methodName这个对应的对象,则eval方法会抛异常  this.func = eval(methodName);  }catch(e){  alert(methodName+"()不存在!");  }  }  var c = new m(methodName);  c.func();    /**  * method2, 比较简洁  */  methodName = "b";  function method2(methodName){  this.func = new Function(methodName+"();");  }  var c = new m(methodName);  try{  c.func();  }catch(e){  Ext.Msg.alert(methodName+"()不存在!");  }