從今天開始,要認真學習javascript啦。接下來將有一系列的關於javascript的學習筆記。
day1.
javascript簡介
先大致瞭解下所謂的javascript,如下圖:
javascript的實現主要由三個部分組成,即ECMAScript、文檔對象模型以及瀏覽器對象模型。
ECMAScript
ECMAScript是javascript的核心部分,主要規定了javascript的語法、類型、語句、關鍵字、保留字、操作符和對象等。
文檔對象模型(DOM)
文檔對象模型將整個頁面映射爲一個多層的節點結構。整個頁面其實就是由多個節點組成的一個樹形結構,根據DOM給的api,可以實現對任何節點的刪除、添加、替換已經修改等操作。
瀏覽器對象模型(BOM)
瀏覽器對象模型支持訪問和操作瀏覽器窗口或框架。通過BOM可實現與瀏覽器窗口/框架的交互。
使用javascript
有兩種方式可以在頁面中引入javascript:
1.嵌入代碼
<script type="text/javascript">
//code...
</script>
2.外部文件
<script type="text/javascript" src="javascript.js"></script>
推薦使用第二種方式引入javascript。
延遲腳本
<script>標籤有個可選屬性——defer。它表示腳本可以延遲到文檔完全被解析和顯示之後再執行。這個屬性只對外部文件有效。即上面提到的第二種方式。
由於瀏覽器的兼容性等各個問題,通常更好的做法是將腳本放置在頁面底部,而不使用defer屬性。
異步腳本
<script>標籤中的async屬性表示可以立即下載執行腳本。使用了該屬性的腳本不能保證其執行的先後順序。即不一定按照它們出現在頁面中的順序依次執行。
建議異步腳本不要在加載期間修改DOM。
<noscript>元素
在瀏覽器不支持腳本或者腳本被禁用的情況下,可以使用<noscript>元素來顯示提示內容。
<noscript>元素中的內容在啓用腳本的瀏覽器中用於不會被看到。
<noscript>本頁面需要瀏覽器支持javascript。</noscript>
注意點
1.在javascript代碼中不能直接出現“</script>”
當javascript代碼中直接出現“</script>”時,瀏覽器會認爲是</script>結束標籤,從而產生錯誤。
正確的做法是:使用轉義字符將“</script>”寫成如下形式"<\/script>";或者將“</script>”拆分成兩個字符串也行。
2.在不使用defer和async屬性的情況下,所有腳本都是按照它們在頁面中出現的順序依次被解析的。
3.可以使用如下格式來實現在XHTML中使用javascript
<script type="text/javascript">
//<![CDATA[
//code...
//]]>
</script>