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

2014-04-04 5

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文章

关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
Mar 01 7
JSONP 跨域共享信息
Aug 16 7
js二级地域选择的实现方法
Jun 17 7
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 9
javascript实现支持移动设备画廊
Aug 24 4
自制微信公众号一键排版工具
Sep 22 9
JS拉起或下载app的实现代码
Feb 22 7
手机访问当前页面