从第一个对象创建的另一个对象中访问对象原型变量
Accessing an Object Prototype's variable from within another Object created by the first
我有一个创建异步XMLHttpRequest的对象。
它工作得很好,除了我想在请求的回调函数中访问变量address
。如果我使用this.address
它不起作用,因为this
不再指向Async对象,而是指向我的Async对象创建的XMLHttpRequest对象。我如何走出XMLHttpRequest对象访问Async的变量?
function Async(address) {
this.req = new XMLHttpRequest();
this.address = address
}
Async.prototype = {
create: function() {
this.req.open('GET', this.address, true);
this.req.onreadystatechange = function(e) {
if (this.readyState == 4) {
if (this.status == 200) {
dump(this.responseText);
//HERE IS WHERE THE ISSUE IS
console.log("loaded"+this.address)
} else {
dump("COULD NOT LOAD 'n");
}
}
}
this.req.send(null);
}
}
我没有测试过,但是这个呢:
function Async(address) {
this.req = new XMLHttpRequest();
this.address = address
}
Async.prototype = {
create: function() {
var self = this; // ADD THIS LINE
this.req.open('GET', this.address, true);
this.req.onreadystatechange = function(e) {
if (this.readyState == 4) {
if (this.status == 200) {
dump(this.responseText);
//HERE IS WHERE THE ISSUE IS
console.log("loaded"+self.address)
} else {
dump("COULD NOT LOAD 'n");
}
}
}
this.req.send(null);
}
}
相关文章:
- AngularJS:如何用同一对象的另一个属性访问一个属性
- 如何从另一个对象的值访问一个 JavaScript 对象
- Javascript - 循环访问对象数组,仅显示最后一个对象
- 如何在 Jquery 中访问嵌套在另一个对象中的对象的属性
- 访问嵌套在 Javascript 中另一个对象中的对象的属性
- 如何从 jquery 中的另一个对象访问在一个对象中声明的变量
- JavaScript - 尝试从另一个对象内部访问一个对象方法,得到未定义的错误
- 如何从另一个属性访问对象文字属性
- 访问数组中的对象,该对象是另一个对象Javascript的属性
- 无法在同一对象中使用此函数从另一个函数访问函数
- jQuery:从具有一个类的多个实例的对象访问元素
- 如何使用另一个对象的属性值访问JavaScript对象的属性
- 我如何通过另一个对象访问一个对象,这个对象包含一个对象,这个对象是我想要访问的对象的属性
- 访问另一个对象中的对象
- 尝试从另一个对象访问对象属性总是返回该属性的初始值
- 如何从另一个框架访问框架的文档对象?
- 从第一个对象创建的另一个对象中访问对象原型变量
- 访问一个嵌套在一个带有聚合物的对象中的数组中的一个对象的值
- JS:在同一对象中从一个属性访问另一个属性
- 该对象如何访问外部文件中定义的另一个对象的方法