#第一章Javascript概述
講師:_無腦碼農(張磊)_
博客:http://www.h5code.com
課程內容:
[TOC]
* * * * *
>JavaScript 誕生于1995年。它當時的目的是為了驗證表單輸入的驗證。因為在JavaScript問世之前,表單的驗證都是通過服務器端驗證的。而當時都是電話撥號上網的年代,服務器驗證數據是一件非常痛苦的事情。經過許多年的發展,JavaScript從一個簡單的輸入驗證成為一門強大的編程語言。所以,學會使用它是非常簡單的,而真正掌握它則需要很漫長的時間。那么本套課程,我們將結合視頻學習,將大家帶入到Javascript的編程海洋。
###1.>什么是JavaScript?
>JavaScript 是一種具有面向對象能力的、解釋型的程序設計語言。更具體一點,它是基于對象和事件驅動并具有相對安全性的客戶端腳本語言。因為他不需要在一個語言環境下運行,而只需要支持它的瀏覽器即可。它的主要目的是,驗證發往服務器端的數據、增加Web互動、加強用戶體驗度等。
目前除了應用于Web外,很多框架或引擎也開發自己的Javascript解析器,實現了Javascript負責業務邏輯層的功能。這樣我們就能使用Javascript進行全平臺的開發了。例如:cocos2d-js、白鷺引擎、Electron等。
###2.>JavaScript特點
>JavaScript是一種屬于網絡的腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。
1. 是一種解釋性腳本語言(代碼不進行預編譯)。
2. 主要用來向HTML(標準通用標記語言下的一個應用)頁面添加交互行為。
3. 可以直接嵌入HTML頁面,但寫成單獨的js文件有利于結構和行為的分離。
4. 跨平臺特性,在絕大多數瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。
>Javascript腳本語言同其他語言一樣,有它自身的基本數據類型,表達式和算術運算符及程序的基本程序框架。Javascript提供了四種基本的數據類型和兩種特殊數據類型用來處理數據和文字。而變量提供存放信息的地方,表達式則可以完成較復雜的信息處理。
###3.>Javascript的歷程
>它最初由Netscape的BrendanEich設計。JavaScript是甲骨文公司的注冊商標。Ecma國際以JavaScript為基礎制定了ECMAScript標準。JavaScript也可以用于其他場合,如服務器端編程。完整的JavaScript實現包含三個部分:ECMAScript,文檔對象模型,瀏覽器對象模型。
Netscape在最初將其腳本語言命名為LiveScript,后來Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發而開始設計的,目的之一就是“看上去像Java”,因此語法上有類似之處,一些名稱和命名規范也借自Java。但JavaScript的主要設計原則源自Self和Scheme。JavaScript與Java名稱上的近似,是當時Netscape為了營銷考慮與Sun微系統達成協議的結果。為了取得技術優勢,微軟推出了JScript來迎戰JavaScript的腳本語言。為了互用性,Ecma國際(前身為歐洲計算機制造商協會)創建了ECMA-262標準(ECMAScript)。兩者都屬于ECMAScript的實現。盡管JavaScript作為給非程序人員的腳本語言,而非作為給程序人員的腳本語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。
發展初期,JavaScript的標準并未確定,同期有Netscape的JavaScript,微軟的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(歐洲計算機制造商協會)的協調下,由Netscape、Sun、微軟、Borland組成的工作組確定統一標準:ECMA-262。
**ECMAScript版本歷史**
>**1998年6月,ECMAScript 2.0版發布。**
>**1999年12月,ECMAScript 3.0版發布,成為JavaScript的通行標準,得到了廣泛支持。**
>**2007年10月,ECMAScript 4.0版草案發布**,對3.0版做了大幅升級,預計次年8月發布正式版本。草案發布后,由于4.0版的目標過于激進,各方對于是否通過這個標準,發生了嚴重分歧。以Yahoo、Microsoft、Google為首的大公司,反對JavaScript的大幅升級,主張小幅改動;以JavaScript創造者Brendan Eich為首的Mozilla公司,則堅持當前的草案。
>**2008年7月,由于對于下一個版本應該包括哪些功能,各方分歧太大,爭論過于激進,ECMA開會決定,中止ECMAScript 4.0的開發**,將其中涉及現有功能改善的一小部分,發布為ECMAScript 3.1,而將其他激進的設想擴大范圍,放入以后的版本,由于會議的氣氛,該版本的項目代號起名為Harmony(和諧)。會后不久,ECMAScript 3.1就改名為ECMAScript 5。
>**2009年12月,ECMAScript 5.0版正式發布**。Harmony項目則一分為二,一些較為可行的設想定名為JavaScript.next繼續開發,后來演變成ECMAScript 6;一些不是很成熟的設想,則被視為JavaScript.next.next,在更遠的將來再考慮推出。
>**2011年6月,ECMAscript** 5.1版發布,并且成為ISO國際標準(ISO/IEC 16262:2011)。
>**2013年3月,ECMAScript** 6草案凍結,不再添加新功能。新的功能設想將被放到ECMAScript 7。
>**2013年12月,ECMAScript** 6草案發布。然后是12個月的討論期,聽取各方反饋。
>**2015年6月17日,ECMAScript 6發布正式版本,即ECMAScript 2015。**
ECMA的第39號技術專家委員會(Technical Committee 39,簡稱TC39)負責制訂ECMAScript標準,成員包括Microsoft、Mozilla、Google等大公司。TC39的總體考慮是,ES5與ES3基本保持兼容,較大的語法修正和新功能加入,將由JavaScript.next完成。
###4.>開發環境搭建
開發工具:WebStorm、Atom、Sublime等
瀏覽器:谷歌瀏覽器,火狐瀏覽器,IE 瀏覽器,IETest 工具等。
###5.>課程要求
課程目的:為后續的cocos2d-js、白鷺引擎等提供Javascript語言基礎課程。
學員要求:0基礎學習,嚴格按照課程內容練習,必須完成課程作業。