ric*_*oni 3 javascript jquery function
我一直在寻找一段时间,似乎无法找到答案.我不知道是否有可能,但我只是好奇.
假设我有一个简单的功能:
function foo(name){alert(name);}
还假设我必须使用几个不同的名称多次调用此函数:
foo("bar"); foo("blahh"); foo("myName"); foo("yourName");
这是否有简写?
例如:foo("bar":"blahh":"myName":"yourName");
这个例子很简单,但在实践中,委托人可能非常有用.如果有某种jQuery解决方案,我也会对此持开放态度.
您可以将参数放在一个数组中并迭代它:
params = ["bar", "blahh", "myName", "yourName"];
for (var i=0; i<params.length; i++)
foo(params[i]);
Run Code Online (Sandbox Code Playgroud)
如果func采用多个args,则可以将数组放入数组中:
params = [[1,"one"], [2,"two"], [5,"five"]];
for (var i=0; i<params.length; i++)
foobar(params[i][0], params[i][1]);
Run Code Online (Sandbox Code Playgroud)
要么
params = [[1,"one"], [2,"two"], [5,"five"]];
for (var i=0; i<params.length; i++)
foobar.apply(null, params[i]);
Run Code Online (Sandbox Code Playgroud)
作为其他答案的概括:
Function.prototype.sequence = function(vals) {
for (var i = 0; i < vals.length; ++i) this(vals[i]);
}
Run Code Online (Sandbox Code Playgroud)
这会将sequence方法添加到所有函数中.所以你可以使用它与任何功能:
function foo() {....}
foo.sequence(["bar","blah","myName","yourName"]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2275 次 |
| 最近记录: |