我最近收到一个面试问题,我没能正确回答。它是这样的:
编写一个函数的实现,该函数
callAfter可以在某个指定的持续时间后调用任何函数。函数的输出应该保持不变。该函数应具有 > 以下语法:示例 1:假设您有一个
sum这样调用的函数:Run Code Online (Sandbox Code Playgroud)function sum(a, b) { console.log('Sum is: ', a + b); }现在你应该能够执行:
Run Code Online (Sandbox Code Playgroud)sum.callAfter(5000, 8, 9);这应该会
sum在 5 秒后使用参数 8 和 9调用该函数。输出:'Sum is: 17'。示例 2:对于
difference具有以下实现的函数:Run Code Online (Sandbox Code Playgroud)function difference(a, b) { console.log('Difference is: ', a-b); }您应该能够执行:
Run Code Online (Sandbox Code Playgroud)difference.callAfter(4000, 8, 6);这应该会
difference在 4 秒后使用参数 8 和 6调用该函数。输出:'Difference is: 2'。
注意:我知道我可以在 n 秒后使用以下方法执行一个函数:
var delay_func = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer); …Run Code Online (Sandbox Code Playgroud)