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

2014-04-04 42

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

屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
Apr 01 43
javascript实现简单的贪吃蛇游戏
Mar 31 38
ECharts仪表盘实例代码(附源码下载)
Feb 18 40
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
Dec 30 42
原生JS实现动态添加新元素、删除元素方法
May 05 42
vue以组件或者插件的形式实现throttle或者debounce
May 22 52
基于jQuery的时间戳与日期间的转化
Jun 21 40
手机访问当前页面