如何在javascript中引用父对象中的变量
how to reference a variable from the parent object in javascript
我正在尝试编写一个简单的sprite对象,它将在初始化时将自己添加到画布中:
function Sprite(source){
this.x = 100;
this.y = 100;
this.img = new Image();
this.img.src = source;
this.img.onload = function(e){
context.drawImage(this.img, this.x, this.y);
};
}//end of object Sprite
这不起作用,因为drawImage需要访问onload处理程序之外的变量。如何从事件处理程序中访问Sprite对象中的变量?
声明一个变量:
function Sprite(source){
var sprite = this;
this.x = 100;
this.y = 100;
this.img = new Image();
this.img.src = source;
this.img.onload = function(e){
context.drawImage(this, sprite.x, sprite.y);
};
}//end of object Sprite
或者绑定你的函数(我在这里不会这么做,因为onload
事件处理程序应该绑定到相关的映像):
function Sprite(source){
this.x = 100;
this.y = 100;
this.img = new Image();
this.img.src = source;
this.img.onload = (function(e){
context.drawImage(this.img, this.x, this.y);
}).bind(this);
}//end of object Sprite
相关文章:
- 如何在HTML中显示服务器对象变量
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- Javascript 方法看不到对象变量
- JavaScript对象范围-在对象方法中使用对象变量
- 将对象(变量)传递给angularjs指令
- 对象变量在 JavaScript 中是不可访问的
- 无法访问公共JavaScript对象变量
- 可以't获取具有“t”的对象变量;这个“;由setTimeout()函数调用的对象函数中的属性
- Javascript:如何在回调中设置父对象变量
- 从方法内部设置对象变量
- 访问对象中的对象变量
- JavaScript 中的对象变量
- 从 json 代码中删除 javascript 对象变量名称文本
- 将变量传递到对象变量中
- JavaScript 如何重新识别事件对象变量
- 从对象变量中获取子节点
- 使对象变量在所有“更深”的范围内都是可访问的
- 从方法 JavaScript 访问对象变量
- 如何在 javascript 中保存对象变量的状态
- 无法访问IE和Mozilla中javascript的类对象变量