Mar*_*iek 16 javascript function
我已经看到这种技术用于根据字符串变量的值调用Javascript函数.
function foo() {
alert('foo');
}
var test = 'foo';
window[test](); //This calls foo()
Run Code Online (Sandbox Code Playgroud)
这是接受的方式吗?还是有更好的方法?是否需要担心任何跨浏览器问题?
Sol*_*ogi 32
看起来很好.我可能会创建一个简单的帮助函数,如下所示:
function runFunction(name, arguments)
{
var fn = window[name];
if(typeof fn !== 'function')
return;
fn.apply(window, arguments);
}
//If you have following function
function foo(msg)
{
alert(msg);
}
//You can call it like
runFunction('foo', ['test']); //alerts test.
Run Code Online (Sandbox Code Playgroud)
我个人也不会打扰辅助函数
window[someKey]('test')
Run Code Online (Sandbox Code Playgroud)
没关系.
但是,无论如何,我都不会维持一组可能的函数来调用全局范围.因此我会使用更一般的模式: -
obj[someKey]('test')
Run Code Online (Sandbox Code Playgroud)
obj可能是this一个闭包的属性.
| 归档时间: |
|
| 查看次数: |
22778 次 |
| 最近记录: |