0 javascript variables function autoload
我想解雇一个功能.不幸的是我不能直接调用它,因为函数的名称是作为字符串提供的.
例:
function myFunction() {
alert('I am myFunction');
}
function anotherFunction() {
alert('I am anotherFunction');
}
var func_name = 'myFunction';
$obj = jQuery('a');
$obj.each(function(){
$(this).func_name(); // eval didn't help here :(
});
显然这不起作用,因为JS期望func_name是一个有效的函数.有没有办法让myFunction()被触发而不是func_name()?谢谢.
更新:嗯,在测试了一些答案之后,我的问题描述似乎并不完整.:OI更新了代码以包含一个对象,我想要附加/运行该函数.
再次感谢!
没理由使用eval.如果您的功能是全局的,请使用window[func_name]()
随着您更新的问题:
//the function $ returns an object, thus, this is changed
$(this).func_name();
//to this:
$(this)[func_name]();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |