这可能很简单,但我很困惑,所以也许我今天仍然可以学到更多东西。我正在尝试执行以下操作:
var myObj = {};
myObj.src = {}
myObj.src.A = ['1.png','2.png','3.png'];
myObj.A = new Image();
myObj.A.src = this.src.A[0];
这将导致Uncaught TypeError:无法读取未定义的属性“A”
错误。
当我使用 myObj.src.A[0]
而不是 this
时,它工作正常。
在这种情况下使用它的正确方法是什么?
最佳答案
this
指的是执行代码的对象上下文。因此,如果一个对象有一个方法aMethod
,那么在aMethod
内部this
引用拥有它的对象。
我假设您的代码在全局命名空间中运行,因此 this
未定义。实际上,您只需要 myObj.A.src = myObj.src.a[0];
。
关于JavaScript 'this' 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263824/