Javascript OOP:如何引用对象
Javascript OOP: how to refer to object
我有以下JavaScript对象。当窗口调整大小时,我希望它调用自己的resize()
方法。但是,在window.onresize
函数中,this
指的是window
,而不是Canvas对象。如何调用Canvas对象?
function Canvas(element) {
this.element = element;
this.canvas = element.getContext("2d");
this.width = element.width;
this.height = element.height;
this.resize = function () {
this.width = window.innerWidth;
this.height = window.innerHeight;
this.element.width = this.width;
this.element.height = this.height;
};
window.onresize = function () {
this.resize();
^- error
};
}
提前谢谢。
window.onresize = this.resize.bind(this);
如果您支持较旧的浏览器,请包括Function.prototype.bind()
的MDN兼容性补丁。
在onresize
处理程序的闭包中的构造函数范围中保存值"this"。
var _this = this;
window.onresize = function () {
_this.resize();
};
相关文章:
- 引用对象中的通用值
- 使用连字符引用对象的属性名称
- 这在 Object 方法中不引用对象,而是引用函数绑定到的标记
- Javascript对象文字,如何使用“this”来引用对象中的变量
- AngularJS select with ng选项不更新父作用域中的引用对象属性
- 如何在ES6中使用Arrow函数引用对象内部的其他函数
- 调用时可以省略引用对象
- 从函数中引用对象时遇到问题 - Adobe Animate canvas
- 在挖空中引用对象构造函数外部视图模型的属性
- 在 JavaScript 中的回调函数中引用对象
- 从充当事件处理程序的多个方法引用对象属性
- 如何引用对象中的其他节点
- 使用 javascript 通过 ID 正确引用对象
- 使用等效的 Object.indexOf 引用对象中的对象的索引
- Javascript - 事件方法中的引用对象
- 如何避免“this”引用 DOM 元素,并引用对象
- 如何按索引引用对象属性
- 在 AngularJs 中引用对象中的数据
- 如何在没有元素的情况下获取文件引用对象
- 为什么在 JavaScript 中引用对象的不存在属性不会返回引用错误