函数 'callAfter' 的实现,可以在指定的持续时间后调用任何函数
Implementation for a function 'callAfter' that enables any function to be called after some specified duration
编辑:这不是如何在 setTimeout 中传递参数的副本。实际上,我想知道如何编写一个像 setTimeout API.
一样在预定义函数上作为方法调用的函数
那么,我如何为函数 'callAfter' 编写一个实现,使任何函数都可以在指定的持续时间后使用某些参数调用,语法如下:
示例:假设您有一个名为 'sum' 的函数,如下所示:
function sum(a, b) {
console.log('Sum is: ', a + b);
}
现在您应该能够执行:
sum.callAfter(5000, 8, 9);
应该在 5 秒后使用参数 8 和 9 调用函数 'sum'。
使用函数原型制作得到它:
Function.prototype.callAfter = function(){
if(arguments.length > 1){
var args = Array.prototype.slice.call(arguments);
var time = args.splice(0,1);
var func = this;
setTimeout(function(){
func.apply(null, args);
}, time);
}
}
编辑:这不是如何在 setTimeout 中传递参数的副本。实际上,我想知道如何编写一个像 setTimeout API.
一样在预定义函数上作为方法调用的函数那么,我如何为函数 'callAfter' 编写一个实现,使任何函数都可以在指定的持续时间后使用某些参数调用,语法如下:
示例:假设您有一个名为 'sum' 的函数,如下所示:
function sum(a, b) {
console.log('Sum is: ', a + b);
}
现在您应该能够执行: sum.callAfter(5000, 8, 9);
应该在 5 秒后使用参数 8 和 9 调用函数 'sum'。
使用函数原型制作得到它:
Function.prototype.callAfter = function(){
if(arguments.length > 1){
var args = Array.prototype.slice.call(arguments);
var time = args.splice(0,1);
var func = this;
setTimeout(function(){
func.apply(null, args);
}, time);
}
}