我有以下代码:
var Game = {
canvas : document.createElement("canvas"),
init_canvas : (function(){
this.canvas.width = document.body.clientWidth - 15;
this.canvas.height = 800;
... // rest of the code
}) (),
在这里,我试图在匿名canvas
函数中操纵init_canvas
;但是,每当我尝试这样做时,都会说canvas
是undefined
:
Uncaught TypeError: Cannot set property 'width' of undefined
at game.js:51
at game.js:60
此外,如果我将函数init_canvas
的代码更改为以下内容:
init_canvas : function(){
this.canvas.width = document.body.clientWidth - 15;
this.canvas.height = 800;
}),
(现在它是一个文字函数,而不是匿名函数)
,然后再调用:
Game.init_canvas()
,效果很好。为什么会这样?