JS根据变量保存方法名并执行方法
2014-04-04 10:57
232 查看
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+"()不存在!"); }
相关文章推荐
- 自定义Filter禁止用户直接访问JSP页面
- 自定义Filter禁止用户直接访问JSP页面
- jsp页面取得一对多中的set集合的size
- ArcGIS API for JavaScript实现地图双屏联动
- JSON net.sf.json
- JS中Array详细用法
- Js中 关于top、clientTop、scrollTop、offsetTop的用法
- jsp验证码两个实例
- ExtJS常用正则表达式验证
- 记一次寻找Bug的经历-重新理解javascript原型和程序员瓶颈
- Extjs客户端数据,Grid展示,弹出窗体修改,并将修改数据再次显示在Grid【未完全验证】
- AJAX 跨域请求 - JSONP获取JSON数据
- 常用js函数收集(持续更新中----)
- JS常用方法
- Javascript: 运行时调用以变量值为名字的函数
- web版电子表格
- javascript面向对象
- Ext JS 5 beta版发布
- Ext JS 5 beta版发布
- Ext JS 5 beta版发布