求教根据函数字符串名调用函数的方法 本帖最后由 jackzhang1204 于 2012-01-13 17:40:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 似乎没有那么复杂吧,给你参考:<script language="javascript">function funName() { alert("你好");}window["funName"](); // 这应该是你要的吧?</script> function funName() { alert("你好");}(new Function("funName()"))() 可能我没说清楚,在内部调用哪个mask函数时是要根据实例调用方法时调用的参数maskID来决定的.因为mask可能有很多个mask1,mask2,mask3.....maskn. 前面两个方案应该都支持你的要求啊:function callByName(maskID) { var maskFunName = "mask" + maskID; window[maskFunName]();} 建议。仅仅是建议代表个人观点。同志们,不应该是都是 window[maskFunName]();把?如果是在javascript的面向对象编程中呢、。?这个也太盲目了吧。是不是应该在函数定义的那个环境变量里面先定义一个参数来获取当时的环境变量?也就类似于var environment = this;然后调用 environment [maskFunName]();不要动不动的就说什么window,比谈钱伤感情。不同意见跟帖。 看来还是这你理解了我的意思,但是按你的方法我在transition方法前定义了var that = this;然后在里面通过that[maskFunName](maskTime);来调用还是不行。另外请问下,说采用window[maskFunName]();方法的同学,那些mask函数都是私有的函数你如何在外面访问的到? 原来你们在纠结 window 这个东西啊?这个不需要纠结吧,就改为面向对象实现不行么?另外,二楼的并没有用window啊,他为啥也不满足你们的要求?var Foresee = { create: function(){return function() {this.init.apply(this, arguments);};}, get: function(objId){return document.getElementById(objId);}};Foresee.Base = function() {};Foresee.Base.prototype = { funName:function() { alert("你好"); }, callByName:function(_funName) { this[_funName](); }};var base = new Foresee.Base();base.funName();base.callByName("funName"); JS的代码 JS如何获是一个数字的倒数? 图片滤镜效果 菜鸟问题: <input type="text" name="text2" id="text2"> id 和 name 的区别 请问大侠:showModelDialog中出现的西欧字符乱码如果改成中文简体的,谢谢 能不能叫超连接<A>也变成无效状态 网页更新问题,请高手指点 listbox如何得到listbox当前显示到这个name而不是value到值 javascript 中关闭浏览器窗口的问题(在线等待...) 请问如何实现IE风格的浮动按钮? 如何让层一直在整个网页的最下面 如何检测值重复
<script language="javascript">function funName() {
alert("你好");
}window["funName"](); // 这应该是你要的吧?</script>
alert("你好");
}(new Function("funName()"))()
var maskFunName = "mask" + maskID;
window[maskFunName]();
}
是不是应该在函数定义的那个环境变量里面先定义一个参数来获取当时的环境变量?也就类似于var environment = this;然后调用 environment [maskFunName]();
不要动不动的就说什么window,比谈钱伤感情。不同意见跟帖。
var that = this;
然后在里面通过that[maskFunName](maskTime);来调用还是不行。另外请问下,说采用window[maskFunName]();方法的同学,那些mask函数都是私有的函数你如何在外面访问的到?
原来你们在纠结 window 这个东西啊?这个不需要纠结吧,就改为面向对象实现不行么?
另外,二楼的并没有用window啊,他为啥也不满足你们的要求?
var Foresee = {
create: function(){return function() {this.init.apply(this, arguments);};},
get: function(objId){return document.getElementById(objId);}
};
Foresee.Base = function() {};
Foresee.Base.prototype = {
funName:function() {
alert("你好");
},
callByName:function(_funName) {
this[_funName]();
}
};var base = new Foresee.Base();
base.funName();
base.callByName("funName");