javascript 脚本的位置问题?

script放在后面可以正常,但是放到<canvas>标签之前则报错。提示varctx=canv.getContext("2d");这行错误。但是为什么不提示varcan... script 放在后面可以正常,但是放到<canvas>标签之前则报错。提示var ctx=canv.getContext("2d");这行错误。但是为什么不提示var canv=document.getElementById("canvas");这行错误呢?
<!DOCTYPE HTML>
<head></head>

<body>
<h1>弹球</h1>
<canvas id="canvas" width="400" height="400">画布</canvas>
</body>
<script type="text/javascript">
var canv=document.getElementById("canvas");
var ctx=canv.getContext("2d");

var ball={ x:100,y:100,xSpeed:-2,ySpeed:-2};
ball.draw=function(){
ctx.beginPath();
ctx.arc(this.x, this.y, 10, 0, Math.PI*2, false);
ctx.fill();
};
ball.move=function(){
this.x=this.x+this.xSpeed;
this.y=this.y+this.ySpeed;
}

setInterval(
function(){
ctx.clearRect(0,0,400,400);
ball.draw();
ball.move();
ctx.strokeRect(0,0,400,400);
},30
);

</script>
展开
 我来答
善梅翰9650
2020-02-13 · TA获得超过3447个赞
知道大有可为答主
回答量:3231
采纳率:85%
帮助的人:197万
展开全部
1.HEAD中的脚本,是可以保证脚本在任何调用之前被加载。
2.BODY中的脚本,当页面被加载时执行的脚本放在HTML的body部分。放在body部分的脚本通常被用来生成页面的内容。
3.Javascript可以放在页面的任何地方,它的加载顺序与页面的加载顺序一致,页面加载时,先加载head部分,后加载body部分,所以当把javascript代码块放在HTML前面时,它将先于head被加载,当放在head里面时,它将先于body被加载,当放在页面最后的的html之外时,它将最后被加载。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式