我一直在閱讀HTML5和JavaScript的遊戲設計,它介紹了我的對象。因此,在閱讀本書並開展項目工作之後,我決定採用這些新的知識,並將對象集成到自己的項目中。所以這裏是我的問題可以或應該對象調用自己的功能?例如:JavaScript對象調用函數本身
var someObject = {
start: function() {
check();
},
check: function() {
console.log("Check!");
}
};
someObject.start();
這本書確實顯示出有做這個計時器的例子:
var timer = {
start: function() {
var self = this;
window.setInterval(function(){self.tick();}, 1000);
},
tick: function() {
console.log('tick!');
}
};
與定時器對象是爲了調用內部功能,使自我參照的例子,這意味着我應該使用self來調用內部函數,或者這是用對象來做到這一點的正確方法嗎?還是最佳做法?提前致謝。
var someObject = {
start: function() {
var self = this;
self.check();
},
check: function() {
console.log("Check!");
}
};
someObject.start();
他們使用它在'setTimeout'例子的原因是因爲它的回調在全球範圍內執行的,所以'this'在'setTimeout'值回調是'window'。爲了保持對原始對象的引用,你必須使用該方法(將其存儲在'self'中)或某種形式的使用'Function.bind()' – Ian