函数数组-执行单个函数
Array of functions - execute single function
我有这样的东西:
var functions = ['function1','function2','function3'];
如何运行某个函数?
function[0];
理想情况下,我希望使用某种计数来单独调用函数。我能够得到正确的输出,但它实际上并没有执行函数。
谢谢!
var array_of_functions = [
first,
second,
third,
forth
]
和call like
array_of_functions[count](parameters);
例子array_of_functions[0]();
或
array_of_functions[0]('string');
JSFIDDLE演示: http://jsfiddle.net/mzxCk/
像这样:
window[functions[0]]();
//^---------- use index here
使用括号表示法获得函数名并按()
调用。
这个答案假设在全局作用域中有这些函数的名字。
小提琴
你还需要考虑调用作用域,这就是为什么你应该使用call
或apply
,这取决于你是作为单独的对象传递你的参数还是一个数组,参见这里的描述。
如果您的functions
包含字符串集合,则需要像这样调用它们(使用args)(注意this
作为调用的第一个参数,这是函数将运行的范围,因此在本例中为window
):
var func1 = function (msg) {
document.write("func1 called with message - " + msg + ".");
};
var functions = ['func1', 'func2'];
window[functions[0]].call(this, 'here is a message');
如果functions
包含Function
的集合,那么你需要这样调用它们:
var functions = [
function (msg) {
document.write("func1 called with message - " + msg + ".");
},
function (msg) {
document.write("func2 called with message - " + msg + ".");
}];
functions[0].call(this, 'here is a message');
相关文章:
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 用于多个类事件Jquery的单个函数
- Javascript:只有在代码中使用单个实例时,函数才能正常工作
- 使用JavaScript&jQuery在单个函数(Nodes&Stuff)中
- 仅在单个页面中运行字符计数javascript函数
- 嵌套描述函数中对象的单个mock(jasmine
- 如何编写单个 Jquery 函数以在文档更改和就绪事件时触发
- 以单个类函数而不是整个类组为目标
- 如何在追加函数创建后最小化单个框
- jQuery单个脚本文件不是特定于*this*页面-显示“;undefined不是函数”;
- 是否可以使用ajax加载单个php函数
- DOM渲染是否保证在单个(同步)函数期间阻止'执行
- 多个按钮触发单个jQuery函数
- 如何使用angularjs在单个ng-init-directice中调用多个函数
- java脚本中用于多个控件的单个onchange函数
- 在nodejs中,如何使模块的单个实例具有不同参数的构造函数
- jQuery:单个更改事件以触发多个函数不起作用
- 如何将动态追加元素的多个值存储到单个 var 中,然后检索到函数中
- 多个事件,用于触发 Chrome 书签 API 中的单个函数
- Javascript 使用单个函数从另一段代码中取消 POST