我想为动画制作一个选择选项,因此无论选择何种类型,都会在画布上显示。 所以我把每个动画都作为一个"类" :
(function (exports) {
function animationA() {}
animationA.prototype.init = function(){}
animationA.prototype.draw = function(){}
exports.animationA = animationA;
})(this);
然后在主要的js:
var a = new animationA();
function setup() {
a.init();
}
function update(callback) {
requestAnimationFrame(function () {
update(callback);
});
console.log(this);
callback();
}
setup();
update(a.draw);
我发现更新(a.draw)中发生错误。它无法访问此行代码中的a属性。 我想知道这是否是一个javascript范围问题?
感谢。
答案 0 :(得分:0)
您需要在调用requestAnimationFrame之前创建对要在回调内引用的上下文的引用,就像使用普通事件回调一样。
Var that = this;
requestAnimationFrame(function(){
that.doSimething();
});