標籤:
第一章:Javascript簡介
1.JavaScript誕生於1995年,當時,它的主要目的是處理以前由伺服器端語言(如Perl)負責的一些輸入驗證操作。現在,JavaScript是一種專為與網頁互動而設計的指令碼語言。
註:Netscape(網景)公司研發,Java是sun公司研發,原名為LiveScript,為了搭上媒體熱炒的Java的順風車,更名為JavaScript
2.微軟推出JSript的和網景的JavaScript相競爭,最後微軟勝利。ECMA指定了規定並重新命名為ECMAScript。
3.雖然JavaScript和ECMAScript通常都被人們用來表達相同的含義,但JavaScript的含義卻比ECMA-262中規定的要多得多。一個完整的JavaScript實現因由下列三個不同的部分組成。
(1)核心(ECMAScript),由ECMA-262定義,提供核心語言功能。
(2)文件物件模型(DOM),提供訪問和操作網頁內容的方法和介面。
(3)瀏覽器物件模型(BOM),提供與瀏覽器互動的方法和介面。
4.ECMA-262規定了以下組成部分:文法,類型,語句,關鍵字,保留字,操作符,對象
5.到了2008年,五大主流web瀏覽器(IE,FireFox,Safari,Chrome和Opera)全部做到了與ECMA-262相容。其中,所有瀏覽器對ECMAScript第三版的支援大體上還是不錯的,而對ECMAScript 5的支援程度越來越高,但對DOM的支援則彼此相差較多。對已經正式納入HTML5 標準的BOM來說,儘管個瀏覽器都實現了某些眾所周知的共同特性,但其他特性還是會因瀏覽器而異。
第二章:在HTML中使用JavaScript
1.HTML4.01為<script>定義了6個屬性:async(可選)、charset(可選)、defer(可選)、language(已廢棄)、src(可選)、type(可選)
2.因為按照解析嵌入式代碼的規則,當瀏覽器遇到字串“</script>"時,就會認為那是結束的</script>標籤。而通過逸出字元”/“可以解決這個問題。<\/script>
3.無論如何包含代碼,只要不存在defer和async屬性,瀏覽器都會按照<script>元素在頁面中出現的先後順序一次進行解析。
4.把JavaScript插入到HTML頁面中要使用<script>元素,使用這個元素可以把JavaScript嵌入到HTML頁面中,讓指令碼和標記混合在一起;也可以包含外部的JavaScript檔案
我們需要主要的地方有:
- 在包含外部的JavaScript檔案時,必須將src屬性設定為指向相應檔案的URL。而這個檔案既可以是與包含它的頁面位於同一個伺服器上的檔案,也可以是其他任何域中的檔案。
- 所有<script>元素都會按照它們在頁面中出現的先後順序依次被解析。在不使用defer和async屬性的情況下,只有在解析完前面<script>元素的代碼之後,才會開始解析後面<script>元素中的代碼。
- 由於瀏覽器會先解析完不使用defer屬性的<script>元素中的代碼,然後再解析後面的內容,所以一般應該把<script>元素放在頁面最後,即主要內容後面,</body>前面
- 使用defer屬性可以讓指令碼在文檔完全呈現只有再執行。延遲指令碼總是按照指定他們的順序執行。
- 使用async屬性可以表示當前指令碼不必等待其他指令碼,也不必阻塞文檔呈現。不能保證非同步指令碼按照他們在頁面中出現的順序執行
另外,使用<noscript>元素可以指定在不支援指令碼的瀏覽器中顯示的替代內容。但在啟用了指令碼的情況下,瀏覽器不會顯示<noscript>元素中的任何內容。
《JavaScript進階程式設計 第三版》 前2章 Javascript簡介與HTML 讀書筆記