我不明白js的一件事情。如果我有我的.js文件和HTML我有以下代碼:頁面加載時外部文件中的JavaScript未運行
<head>
<script src="skrypt.js"></script>
</head>
<body>
Content
</body>
這是否意味着第一執行過程中我skrypt.js將被執行?
,因爲當我在我的skrypt.js代碼:
document.write("HelloWorld")
輸出是 「HelloWorld」 的,但是當我在skrypt.js:
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.fillStyle = "red";
context.fillRect(0, 0, 300, 300);
頁是空白的,我必須使用事件:
<body onload="drawCanvas();">
</body>
其中drawCanvas()與外部.js文件具有相同的代碼。
那麼爲什麼document.write正在工作,而畫布不是?
可能重複[如何在頁面加載完成後執行JavaScript函數?](http://stackoverflow.com/questions/3261969/how-can-i-execute-a-javascript-function-after-頁面加載完成) – isherwood
它不是一個問題如何在加載完成時執行代碼,但關於爲什麼某些代碼被執行而有些差別 – Radek