藍鷗原生JS:js的歷史及JavaScript的優缺點
藍鷗零基礎學習HTML5—html+css基礎
http://11824614.blog.51cto.com/11814614/1852769
JS介紹
js的歷史
在上個世紀的1995年,當時的網景公司正憑借其Navigator瀏覽器成為Web時代開啟時最著名的第一代互聯網公司。
由於網景公司希望能在靜態HTML頁面上添加一些動態效果,於是叫Brendan Eich這哥們在兩周之內設計出了javascript語言。你沒看錯,這哥們只用了10天時間。
為什麽起名叫JavaScript?原因是當時Java語言非常紅火,所以網景公司希望借Java的名氣來推廣,但事實上JavaScript除了語法上有點像Java,其他部分基本上沒啥關系。
JavaScript版本兼容性
JavaScript語言是在10天時間內設計出來的,雖然語言的設計者水平非常NB,但誰也架不住“時間緊,任務重”,所以,JavaScript有很多設計缺陷,我們後面會慢慢講到。
此外,由於JavaScript的標準——ECMAScript在不斷發展,最新版ECMAScript 6標準(簡稱ES6)已經在2015年6月正式發布了,所以,講到JavaScript的版本,實際上就是說它實現了ECMAScript標準的哪個版本。
由於瀏覽器在發布時就確定了JavaScript的版本,加上很多用戶還在使用IE6這種古老的瀏覽器,這就導致你在寫JavaScript的時候,要照顧一下老用戶,不能一上來就用最新的ES6標準寫,否則,老用戶的瀏覽器是無法運行新版本的JavaScript代碼的。
js的組成
ECMAScript
ECMAScript是一個標準。
因為網景開發了JavaScript,一年後微軟又模仿JavaScript開發了JScript,為了讓JavaScript成為全球標準,幾個公司聯合ECMA(European Computer Manufacturers Association)組織定制了JavaScript語言的標準,被稱為ECMAScript標準。
所以簡單說來就是,ECMAScript是一種語言標準,而JavaScript是網景公司對ECMAScript標準的一種實現。
那為什麽不直接把JavaScript定為標準呢?因為JavaScript是網景的註冊商標。
不過大多數時候,我們還是用JavaScript這個詞。如果你遇到ECMAScript這個詞,簡單把它替換為JavaScript就行了。
DOM
DOM:Document Object Model。文檔對象模型,後邊我們會有專門的課程來講解DOM操作
BOM
BOM:Browser Object Model。瀏覽器對象模型,後邊我們也會專門來講bom操作
JavaScript的特點
(1)、一種解釋性執行的腳本語言。
同其他腳本語言一樣,JavaScript也是一種解釋性語言,其提供了一個非常方便的開發過程。JavaScript的語法基本結構形式與C、C++、Java十分類似。但在使用前,不像這些語言需要先編譯,而是在程序運行過程中被逐行地解釋。JavaScript與HTML標識結合在一起,從而方便用戶的使用操作。
(2)、一種基於對象的腳本語言。
其也可以被看作是一種面向對象的語言,這意味著JavaScript能運用其已經創建的對象。因此,許多功能可以來自於腳本環境中對象的方法與腳本的相互作用。
(3)、一種簡單弱類型腳本語言。
其簡單性主要體現在:首先,JavaScript是一種基於Java基本語句和控制流之上的簡單而緊湊的設計,從而對於使用者學習Java或其他C語系的編程語言是一種非常好的過渡,而對於具有C語系編程功底的程序員來說,JavaScript上手也非常容易;其次,其變量類型是采用弱類型,並未使用嚴格的數據類型。
(4)、一種相對安全腳本語言。
JavaScript作為一種安全性語言,不被允許訪問本地的硬盤,且不能將數據存入服務器,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態交互。從而有效地防止數據的丟失或對系統的非法訪問。
(5)、一種事件驅動腳本語言。
JavaScript對用戶的響應,是以事件驅動的方式進行的。在網頁(Web Page)中執行了某種操作所產生的動作,被稱為“事件”(Event)。例如按下鼠標、移動窗口、選擇菜單等都可以被視為事件。當事件發生後,可能會引起相應的事件響應,執行某些對應的腳本,這種機制被稱為“事件驅動”。
(6)、一種跨平臺性腳本語言。
JavaScript依賴於瀏覽器本身,與操作環境無關,只要計算機能運行瀏覽器,並支持JavaScript的瀏覽器,就可正確執行,從而實現了“編寫一次,走遍天下”的夢想。
因此,JavaScript是一種新的描述語言,其可以被嵌入到HTML文件中。JavaScript語言可以做到響應使用者的需求事件(例如表單的輸入),而不需要任何的網絡來回傳輸資料。所以當一位使用者輸入一項資料時,此資料數據不用經過傳給服務器(server)處理再傳回來的過程,而直接可以被客戶端(client)的應用程序所處理。
JavaScript的優缺點
(1)、JavaScript的優點:
<1>.JavaScript減少網絡傳輸。
在JavaScript這樣的用戶端腳本語言出現之前,傳統的數據提交和驗證工作均由用戶端瀏覽器通過網絡傳輸到服務器上進行。如果數據量很大,這對於網絡和服務器的資源來說實在是一種無形的浪費。而使用JavaScript就可以在客戶端進行數據驗證。
<2>.JavaScript方便操縱HTML對象。
JavaScript可以方便地操縱各種頁面中的對象,用戶可以使用JavaScript來控制頁面中各個元素的外觀、狀態甚至運行方式,JavaScript可以根據用戶的需要“定制”瀏覽器,從而使網頁更加友好。
<3>.JavaScript支持分布式運算。
JavaScript可以使多種任務僅在用戶端就可以完成,而不需要網絡和服務器的參與,從而支持分布式的運算和處理。
(2)、JavaScript的局限性:
<1>.各瀏覽器廠商對JavaScript支持程度不同。
目前在互聯網上有很多瀏覽器,如Firefox、Internet Explorer、Opera等,但每種瀏覽器支持JavaScript的程度是不一樣的,不同的瀏覽器在瀏覽一個帶有JavaScript腳本的主頁時,由於對JavaScript的支持稍有不同,其效果會有一定的差距,有時甚至會顯示不出來。
<2>.“Web安全性”對JavaScript一些功能犧牲。
當把JavaScript的一個設計目標設定為“Web安全性”時,就需要犧牲JavaScript的一些功能。因此,純粹的JavaScript將不能打開、讀寫和保存用戶計算機上的文件。其有權訪問的唯一信息就是該JavaScript所嵌入的那個Web主頁中的信息,簡言之,JavaScript將只存在於它自己的小小世界—Web主頁裏。
Tags:
文章來源: