<body>
<!--<script src="js/time.js"></script> 没效果-->
<div>
<canvas id="clock" height="200" width="200"></canvas>
</div>
</body>
<script src="js/time.js"></script> <!--有效果-->
浏览器的执行顺序是从上到下加载解析的,放在head的js文件会比body中的html元素优先执行,此时canvas元素还未被浏览器解析渲染出来,所以没有效果
可以在将代码放在
window.onload = function () {
// 具体代码
}
中,这样就能保证js文件先执行也能渲染出时钟
浏览器加载文件是逐行加载,如果放在 canvas 之前,浏览器将优先解析 js 文件,此时 canvas 还没有解析出来,控制台会报错且页面没有任何效果。
所以文件位置的安排很重要。