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

2014-04-04 23

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+"()不存在!"); 
}
展开阅读全文

更多Javascript文章

JavaScript 学习笔记(五)
Dec 31 27
jQuery.Autocomplete实现自动完成功能(详解)
Jul 13 15
javascript简易缓动插件(源码打包)
Feb 16 22
javascript实现将文件保存到本地方法汇总
Jul 26 24
深入浅析search 搜索框的写法
Aug 02 16
Webpack中publicPath路径问题详解
May 03 18
JavaScript常见JSON操作实例分析
Aug 08 24
手机访问当前页面