初學JavaScript,項目需要沒有系統學習,只能邊查資料邊碼代碼,埋下的坑不知道有多少,還是建議時間充足的情況下系統的將Javascript學習一遍 ,涉及的HTML知識也務必了解。
問題
最開始在單個html文件中使用了vue.js一些基礎功能,在head中使用script標簽,
<head>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<\head>
自己寫的js代碼在body中
<body>
<script>
...
</script>
</body>
之后為了調試方便,將自己寫的js代碼獨立成單個文件(獨立成單個文件不需要包含script標簽),沒多想便直接在head中像使用vue.js將自己的js文件導入,結果就是不起作用
<head>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script src="./my.js"></script>
<\head>
改成在body中將my.js文件導入又正常了。
結論
通過網上的一些文章發現應該是瀏覽器的加載順序有關。
常理head在body之前,如果head在body之后,那么先前將my.js在head中導入也是正常的。
08.15 更新:先前js代碼未生效其實只是部分代碼未生效,未生效的原因是因為自己的js代碼中要對一些元素進行修改但如果這段js代碼出現在元素前則就無法修改,對於是否在head中還是body中影響並不大,總結就是與瀏覽器的加載順序有關。如下,如果js代碼在div標簽之前出現則p標簽不變但還是彈出提示框,反之p標簽中為From JavaScript
:
<div id="app">
<p>{{ message }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
message: 'From JavaScript'
}
});
alert("'From JavaScript");
</script>
待續...