javascript - Javascript 包装函数和 this 关键字
问题描述
我正在学习“绑定”,我发现还有另一种使用 wrap 函数的方法,而不使用“绑定”。我可以像下面这样编码。
let user = {
firstName: "John",
sayHi() {
alert(`Hello, ${this.firstName}!`);
}
};
//using wrap function instead of bind
setTimeout(function() {
user.sayHi(); // Hello, John!
}, 1000);
如果你使用 setTimeout(user.sayHi, 1000);
而不是 wrap 函数,它就不起作用。我知道为什么。但我不明白,为什么当你使用 wrap 函数时它会起作用?
解决方案
推荐阅读
- blazor - 所有的wasm速度都一样吗?
- visual-studio-code - 在编辑器/标题菜单中使用内置的 Octicons 用于 vscode 扩展命令贡献点
- docker - docker login error 登录:帐户未激活。关系存储库
- delphi - 像任务管理器一样始终处于领先地位
- http - 需要拦截和重定向 http 请求,因为站点的 IP 在测试机器上是不可见的,但网络服务器可以从内部地址访问
- python - 用python请求替换curl相当于将文件POST到服务器
- azure - Microsoft Azure IOT Hub 和自定义路由
- flutter - 如何在 Flutter 中排列盒子?
- google-colaboratory - 多个 Colab 笔记本可以共享同一个运行时吗?
- php - 使用未定义的常量 S - 假定为“S”