Javascript 未捕获类型错误:无法读取属性';getContext';空的

Javascript 未捕获类型错误:无法读取属性';getContext';空的,javascript,particles,Javascript,Particles,在我的控制台中,我得到一个错误:“UncaughtTypeError:无法读取null的属性'getContext'” 我就是找不到我犯的错误。。。或者我做错了什么。 也许你能帮我找到它? 请帮忙:) 在此处输入代码 var canvas=document.getElementById(“myCanvas”); var ctx=canvas.getContext(“2d”); var cW=画布。宽度=1000; var cH=画布。高度=500; var particleAmount=10;

在我的控制台中,我得到一个错误:“UncaughtTypeError:无法读取null的属性'getContext'” 我就是找不到我犯的错误。。。或者我做错了什么。 也许你能帮我找到它? 请帮忙:)

在此处输入代码
var canvas=document.getElementById(“myCanvas”);
var ctx=canvas.getContext(“2d”);
var cW=画布。宽度=1000;
var cH=画布。高度=500;
var particleAmount=10;
var粒子=[];

对于(var i=0;i而言,该错误基本上意味着HTML和JavaScript代码没有正确地配合,或者只是您没有正确加载脚本。
试试这个:

function init() {
  // Run your javascript code here
}

// Run the 'init' function when the DOM content is loaded
document.addEventListener("DOMContentLoaded", init, false);

希望这能有所帮助。

我想您应该将脚本标记放在画布标记的上方,请将其放在画布标记的后面。

尝试在脚本标记之前声明画布元素。这对我来说很好。

将脚本文件放在画布之后。这意味着将脚本放在主体标记之前

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML5 Canvas</title>

    <link rel="shortcut icon" href="assets/1.png">
    <link rel="stylesheet" href="assets/canvas.css">
</head>
<body>
    <div class="container">
        <h2>Canvas</h2>
        <canvas id="myCanvas" width="400" height="300">

        </canvas> <!-- End Canvas -->
    </div> <!-- End Container -->
    <script src="canvas.js"></script>
</body>
</html> 

HTML5画布
帆布

答案就在问题之后的评论中!其他人也在下面发布了答案,但全部归功于:@elclanrs


“是的,所以画布还不存在。请在画布元素之后加载脚本。-elclanrs 9月13日'14日22:43”

您确定要在DOM就绪时加载脚本吗?这是我的html代码:Vector_5,对了,因此画布还不存在。请在画布元素之后加载脚本。谢谢!!:D它现在可以正常工作了!
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML5 Canvas</title>

    <link rel="shortcut icon" href="assets/1.png">
    <link rel="stylesheet" href="assets/canvas.css">
</head>
<body>
    <div class="container">
        <h2>Canvas</h2>
        <canvas id="myCanvas" width="400" height="300">

        </canvas> <!-- End Canvas -->
    </div> <!-- End Container -->
    <script src="canvas.js"></script>
</body>
</html>