Javascript document.getElementById("name") returni

Javascript document.getElementById("name") returning

本文关键字:quot returni name document Javascript getElementById      更新时间:2023-09-26

我一直在寻找我的问题的答案,但就我所见,还没有找到任何真正击中它的东西。

我在这里有两个Javascript块,我将使用它们在web浏览器中创建一个简单的2d游戏。

var myGamePiece;
var game = {
    canvas : document.getElementById("game-screen"),
    start : function(){
        this.context = this.canvas.getContext("2d");
    }
}
function startGame(){
    game.start();
}

还有这个

var myGamePiece;
var game = {
    start : function(){
        this.canvas = document.getElementById("game-screen");
        this.context = this.canvas.getContext("2d");
    }
}
function startGame(){
    game.start();
}

第一个代码片段不起作用。当我试图获得上下文时,canvas为NULL。我想知道为什么?我知道为什么它在第二种情况下有效,嗯,我想我知道。它在一个函数中运行。canvas属性在第一个不被"运行",就像它在第二个代码片段?

评论和提示感谢!: D

您的第一个代码在var game声明中立即调用document.getElementById("game-screen")

这可能是在元素存在之前运行的