gpt4 book ai didi

javascript - javascript 中绑定(bind)的真实工作示例

转载 作者:行者123 更新时间:2023-11-28 19:14:56 24 4
gpt4 key购买 nike

在 javascript 中,有哪些现实世界中的 bind 示例有助于理解?另外解释项目中的用例也会非常有帮助。

最佳答案

最常见的情况是当你想将对象的方法作为回调传递时(JS中有很多回调)。

考虑这个 super 简单的对象:

var logger = {
name: "myLogger",
log: function(txt) {
console.log(this.name+":", txt);
}
};

logger.log("Hello there") // myLogger: Hello there

您可能希望将 log 作为回调传递给 forEach 以记录整个元素数组:

var messages = ["first message", "second message", "third message"];
messages.forEach(function(msg) {
logger.log(msg);
});

更简单的说法是:

messages.forEach(logger.log.bind(logger));

你不能只说forEach(logger.log),因为this不会被正确传递。

关于javascript - javascript 中绑定(bind)的真实工作示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30072609/

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