最近在看一本書:《高性能javaScript》,發現自己平時寫js存在很多小細節上的問題,雖然這些問題不會導致程序運行出錯,但是會導致界面加載變慢,用戶體驗變差,那麼我們就來細細數一下應該注意的地方吧
1、<script>標簽應越少越好(雖然有多個也不會導致程序報錯),因為每個<script>標簽初始下載時都會阻塞頁面渲染 2、<script>標簽盡量不要放在頁面上方,盡量放在<body>內的最下面,因為每個<script>在執行的時候,都會下載對應的js文件,浏覽器會等待所有js/css下載完成才顯示出頁面 3、當需要導入多個js文件的時候,一般情況下我們都是寫兩個<script src="..." />,實際上是支持一次性導入多個的,例如:<script src="file1.js&file2.js" /> 4、<script>標簽中有一個屬性:defer,該屬性指明本元素所含的腳本不會修改DOM,因此代碼能安全地延遲執行,但是該屬性只有IE4+和Firefox3.5+浏覽器支持,希望大家使用的時候注意,如果其他浏覽器,則會被直接忽略,使用例子: <script type="text/javascript" src="file1.js" defer /> ,測試驗證defer屬性示例: 代碼如下: <script defer>alert("defer");</script> <script>alert("script");</script> <script> window.onload = function() { alert("load"); }; </script> 這段代碼在我們正常理解下執行順序應該是:defer、script、load,但是如果在支持defer的浏覽器上順序則是:script、defer、load,這裡需要注意的是:defer不是跟在script後面執行,而是在onload事件處理之前被調用。 時間有限,今天先記錄這麼多吧