JS語言概述
JS語言簡史
-
JS語言的起源
網景(Netscape Communication Corperation),1994年,推出第一款商用瀏覽器,網景瀏覽器(Netscape Navigator)
1995年,網景公司決定在瀏覽器中加入一門語言,可以作交互效果,提高用戶體驗。
最終決定獨立開發一門新的語言,聘請Brendan Eich,10天后,新的語言誕生
LiveScript -> JavaScript (JS)
JS語言之父:Brendan Eich
-
第一次瀏覽器大戰
網景公司打算在瀏覽器中加入網絡操作系統,影響到微軟的利益,引起了微軟的注意
1995年,微軟發布IE瀏覽器。
JS語言推出之后,網景獲得極大的競爭優勢。
第一次瀏覽器大戰是標准之爭
1997,網景公司將javascript1.1版本提交給ECMA(歐洲計算機制造協會)
IE3發布,並綁定windows操作系統。
1998年,網景公司,被收購。
ECMA收錄了JavaScript,並提交給ISO,經過修改,成為了第一個JS的標准版本,成為ECMAScript,簡稱ES
-
第二次瀏覽器大戰
IE4、IE5、IE6(windows xp)
微軟決定解散瀏覽器團隊。
Brendan Eich,帶領團隊成立Mozilla基金會,並決定,將網景瀏覽器開源。
長時間內,世界的技術愛好者,對網景瀏覽器,進行維護和打補丁
2002,Mozilla推出firefox瀏覽器。
2008,谷歌推出chrome瀏覽器,蘋果推出safari,ASA公司推出opera
chrome瀏覽器搭載JS執行引擎V8(V8引擎,可以將JS代碼直接轉換為字節碼,理論上,JS代碼的執行速度已經接近匯編語言)
於是,JS具備了編寫大型應用程序的能力,甚至服務器應用
Ryan Dahl 准備寫一個服務器端的框架,直接利用V8引擎完成了該框架,該框架,稱為nodejs
V8,將JS的執行推向了一個新的台階
-
ES標准的發展
ES1,1997年 ES2,1998年 ES3,1999年 ES5,2009年,習慣上,不再區分 javascript (JS) 和 ECMAScript (ES) ES6,2015年,ECMA宣布,從ES6開始,使用年號作為版本號,ES6的真正稱呼為:ES2015 ES7,2016年,ES2016
非常重要:ES制定語言標准,不涉及語言的運行環境。正是因為ES避免了運行環境,就讓ES有機會在各種環境中執行。ES稱為了通用編程語言
本課程學習的是,ES的通用語法、瀏覽器環境為其注入的新功能
通常,把ES運行的環境稱之為,宿主環境
JS語言特性
-
解釋型語言
編譯型語言:C語言、C++、java語言、C#語言
編譯型語言會經過一個翻譯的過程,負責翻譯的叫做編譯器,翻譯的結果,叫做編譯結果。
優點:執行速度快 缺點:某個編譯結果,難以適用於各種環境(跨平台障礙);部署繁瑣;
解釋型語言:js、php
解釋型語言沒有編譯結果
優點:跨平台;部署簡單; 缺點:執行速度稍慢
-
弱類型語言
弱類型:存放的數據類型可變。優點:靈活、易上手; 缺點:不嚴謹
強類型:存放的數據類型不可變。優點:嚴謹;缺點:不靈活、不易上手
通常,將弱類型的解釋型語言,稱為腳本語言
-
單線程
同步現象:上一件事情沒有做完,下一件事情必須等待。
-
異步
提高單線程的執行效率。