gpt4 book ai didi

javascript - 在 Javascript 的闭包中处理 'this' 的更好方法?

转载 作者:行者123 更新时间:2023-11-30 10:12:40 26 4
gpt4 key购买 nike

<分区>

我经常编写以下形式的 Javascript 代码:

MyClass.prototype.loadData = function() {
var oReq = new XMLHttpRequest();
var obj = this;
oReq.onload = function() { obj.onDataLoaded(); }
oReq.open("get", url, true);
oReq.send();
}

看起来不优雅的部分是 var obj=this 将当前对象分配给一个临时变量, (obj) 只是为了能够在oReq.onload 函数。对于除 this 之外的所有其他变量,这不是必需的,因为它们自动成为闭包的一部分,因此可以在 onload() 中引用。但是 this 不是闭包的一部分,而是始终 (?) 引用该方法绑定(bind)到的对象。

那么有没有比先将 this 分配给临时变量然后再将 this 分配给临时变量更惯用的方法来从绑定(bind)到另一个对象的函数中访问当前 this 对象使用那个变量?

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