簡寫:JavaScript-JS ECMAScript-ES 寫在前面的話:啃文字大多時間不是件愉快的事情,但是我們必須過這個坎,讓自己習慣,讓自己不討厭,至於喜歡不喜歡,我們等時間給出答案。 JavaScript由來JavaScript 誕生於1995年,由Netscape Navigator(網 ...
簡寫:JavaScript-JS ECMAScript-ES
寫在前面的話:啃文字大多時間不是件愉快的事情,但是我們必須過這個坎,讓自己習慣,讓自己不討厭,至於喜歡不喜歡,我們等時間給出答案。
JavaScript由來JavaScript 誕生於1995年,由Netscape Navigator(網景公司,下文統一簡稱網景)公司設計的語言,目的是用來解決當時的表單輸入驗證問題(當時是放在伺服器端進行的表單驗證)。當時微軟在IE3上也實現了JavaScript,但是為了避開網景的授權問題,因而在叫法上稱為JScript。JavaScript前身其實是叫LiveScript,後來網景瀏覽器在發佈第二版的時候,為了趁當時Java的熱度,臨時改成了JavaScript。這也讓很多不瞭解JavaScript的人總是誤會成Java的親戚,然而實際上並無關係。再後來,因為微軟跟網景公司各自用自己版本的JavaScript,並無一套標準的規則可供參考,所以,在1997年,以JavaScript1.1為藍本的建議提交給了歐洲電腦製造商協會(ECMA,European Computer Manufacture Association)。該協會指定39號技術委員會負責這次標準化任務,經過幾個月,最後完成了ECMA-262,也就是名為ECMAScript的新腳本語言。第二年,ISO/IEC(國際標準化組織和國際電工委員會)。
JS跟ES,大多時候我們是混著叫的,我們也可以不深究,但是既然入了這個門,不管是出於情懷還是更好的理解這門語言,個人覺得很有必要瞭解的。JS是一門基於瀏覽器的腳本語言,而ES是歐洲電腦製造協會牽頭完成的一種腳本語言的標準。JS是基於ES標準開發出來的一種腳本語言,像node也是基於ES標準開發的一種後臺語言。
瀏覽器的JS語言的實現包括了三個部分:
1. ES,這是JS的核心,是JS必須遵循的國際標準;
2. 文檔對象模型,也就是DOM,主要用於操作html的元素節點;
3. 瀏覽器對象模型,也就是BOM,主要是各個瀏覽器實現的對象。
ES
ES跟瀏覽器沒有任何的依賴關係,它定義的只是想過腳本語言的基礎部分。ES規定這門語言由七部分組成
語法、類型、語句、操作符、關鍵字、保留字、對象。
這些特性跟java語言以及其他語言類似。
ES的版本更迭:
第一版,主要依據JS1.1編寫。
第二版,只做編輯加工,並未實現新特性。
第三版,增加了像正則、異常處理等一些新的特性。第三版的發佈標志著ES成為一門真正的編程語言,後續十幾年主要相容的就是這個版本。
第四版,改動巨多,廢棄,採用3.1版本替代4.0直接發不成第五版,也就是傳說中的ES5。
DOM
為什麼要使用DOM?為了能動態改變頁面顯示。依據的標準是W3C制定的標準,具體的API以及實現後面再詳述。
BOM
瀏覽器對象模型,包括視窗、瀏覽器信息、location、screen、cookie、XMLHttpRequst等,不過沒有標準遵循。
因為JS的運行載體各異,工作學習過程中難免會遇到各種各樣的相容性問題,好在大多數的相容性問題就算是百度也能解決絕大部分。