gpt4 book ai didi

javascript - 上下文丢失。设置超时

转载 作者:行者123 更新时间:2023-11-30 08:39:42 25 4
gpt4 key购买 nike

Function.prototype.defer = function(ms) {
var self = this;

return function() {
setTimeout(self, ms);
};
}

function f(a, b) {
alert(a + b);
}

f.defer(5000)(1, 2); // 3

应该在 5 秒内显示数字 3,但以某种方式推断出 NaN。

最佳答案

defer 返回的函数不接受任何参数,因此 12 将被忽略。

如果你想使用它们,那么你需要捕获它们并用它们做一些事情。

Function.prototype.defer = function(ms) {
var self = this;

return function(x, y) {
setTimeout(self.bind(this, x, y), ms);
};
}

function f(a, b) {
alert(a + b);
}

f.defer(5000)(1, 2); // 3

关于javascript - 上下文丢失。设置超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com