是否有一个可以用来多次执行命令的函数......
alert('hi');
alert('hi');
alert('hi');
这样我就可以在没有重复的情况下做到这一点。
有没有办法用预设功能来消除冗余呢?
答案 0 :(得分:2)
“预设功能”只是一种形式的循环。你可以使用Coffeescript的理解:
alert('hi') for num in [1..10]
http://coffeescript.org/#loops
但那仍然是一个循环:)
某些语言(如Ruby)具有类似
的结构10.times do { puts 'hi' }
不幸的是,JS中没有相同的内容。
答案 1 :(得分:2)
Javascript语言中没有内置功能可让您多次重复某个功能,但您可以轻松创建一个功能来为您执行此操作:
function execMultiple(fn, num, /* args */) {
// make copy of the args without the first two items
var args = Array.prototype.slice.call(arguments, 2);
for (var i = 0; i < num; i++) {
fn.apply(this, args);
}
}
execMultiple(alert, 3, 'hi');
或者,你可能需要一个已经传入args的存根函数:
function execN(fn, n) {
for (var i = 0; i < n; i++) {
fn();
}
}
execN(function() {
alert('hi');
}, 3);
答案 2 :(得分:1)