애니메이션에 대한 선택 옵션을 만들고 싶습니다. 따라서 선택되는 유형에 상관없이 캔버스에 표시됩니다. 주요 JS에서 다음javascript scope in requestAnimationFrame
(function (exports) {
function animationA() {}
animationA.prototype.init = function(){}
animationA.prototype.draw = function(){}
exports.animationA = animationA;
})(this);
: 나는 오류 업데이트 (a.draw)에서 발생 발견
var a = new animationA();
function setup() {
a.init();
}
function update(callback) {
requestAnimationFrame(function() {
update(callback);
});
console.log(this);
callback();
}
setup();
update(a.draw);
그래서 나는 "클래스"각 애니메이션을합니다. 이 코드 줄에서는 a의 속성에 액세스 할 수 없습니다. 이것이 자바 스크립트 범위 문제인지 궁금합니다.
감사합니다.
당신이 사용하는 'requestAnimationFrame' 기능에 관한 것이 아닙니다. 그것은 당신이'a.draw '를'update'에 넘기는 방법입니다. – Bergi
['this' 키워드] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this)는 다음과 같습니다. 함수의 * scope *가 아니라 함수 호출의'context'입니다. – Bergi