布蘭登 • 艾奇(Brendan Eich,1961年~),1995年在網景公司,發明的JavaScript。javascript
一開始JavaScript叫作LiveScript,可是因爲當時Java這個語言特別火,因此爲了傍大牌,就更名爲JavaScript。如同「北大」和「北大青鳥」的關係。「北大青鳥」就是傍「北大」大牌。html
同時期還有其餘的網頁語言,好比VBScript、JScript等等,可是後來都被JavaScript戰勝了,因此如今的瀏覽器中,只運行一種腳本語言就是JavaScript前端
說到javascript,你們應該都不陌生,可是咱們如今要了解的是它的發展史java
javascript是一種直譯式 的腳本語言,是一種動態類型,弱類型,基於原型的語言,內置支持類型。node
最開始他的誕生是由於須要處理服務器的一些表單驗證,好比說在之前註冊的時候並不會像如今同樣,之前不會提示你用戶名已經被註冊,因此之前你認認真真的填了慢慢的信息,點一個提交要等個十幾分鍾,最後彈出來一個窗口告訴你用戶名已經被註冊了,而後一刷新,你以前填的東西全沒了。。。。。。。。python
1995年,javascript由Netscape公司的Brendan Eich,在網景瀏覽器首次設計實現而成。當時他被叫作livescript。但當時java很是火,因此他想借機傳播本身,因而更名改稱爲javascript,可是呢和java沒有半毛錢關係。web
javascript1.0一通過推出,便得到了巨大的成功,Netscape隨後又推出了一系列的版本,在當時市面上有三種js的版本,IE的JScript,網景的javaScript,script Ease的CEnvi。但是javascript畢竟是公司開發的,規範性的問題漸漸暴露出來。數據庫
最後由EMCA(歐洲計算機制造協會)進行標準化,這裏說下EMCAscript不等於javascrpt。編程
自此後javascript一統江湖。canvas
那你覺得javascript就此走上了人生巔峯了嗎?
不不不,在2003年之前,javascript有個外號叫「牛皮癬」,可謂是臭名遠揚。這個比喻仍是比較生動的,當時什麼浮動廣告,小廣告,小彈窗啊都是他的傑做,一談起javascript,那簡直就是禍害。
可是是金子總會發光的。
2004年的,js的命運被改變,當時的谷歌公司開始重視Ajax。什麼是Ajax,舉個例子,好比咱們想在網上差個信息,都會有下拉的提示,經過異步交互技術完成。
2007年,喬布斯推出第一代蘋果手機,打開了手機開啓桌面級瀏覽器新時代,js迎來了他自出生而來的重大轉折點。
2010年,推出了html3的畫布功能。工程師能夠在canvas進行遊戲製做,現在開始流行webapp,用頁面技術開發手機應用,javascript也算是走上了人生巔峯。
Javascript,從「最被誤解的語言」,最後神奇地轉變成爲「最流行的語言」,證實它經受得起時間的考驗。雖然單獨來看,它的交互設計有些失敗,可是加上Ajax的完美配合,javascript就成了一款輕便而且又實用的好語法。
JavaScript是世界上最流行的腳本語言,由於你在電腦、手機、平板上瀏覽的全部的網頁,以及無數基於HTML5的手機App,交互邏輯都是由JavaScript驅動的。
簡單地說,JavaScript是一種運行在瀏覽器中的解釋型的編程語言。
那麼問題來了,爲何咱們要學JavaScript?尤爲是當你已經掌握了某些其餘編程語言如Java、C++的狀況下。
簡單粗暴的回答就是:由於你沒有選擇。在Web世界裏,只有JavaScript能跨平臺、跨瀏覽器驅動網頁,與用戶交互。
Flash背後的ActionScript曾經流行過一陣子,不過隨着移動應用的興起,沒有人用Flash開發手機App,因此它目前已經邊緣化了。相反,隨着HTML5在PC和移動端愈來愈流行,JavaScript變得更加劇要了。而且,新興的Node.js把JavaScript引入到了服務器端,JavaScript已經變成了全能型選手。
JavaScript一度被認爲是一種玩具編程語言,它有不少缺陷,因此不被大多數後端開發人員所重視。不少人認爲,寫JavaScript代碼很簡單,而且JavaScript只是爲了在網頁上添加一點交互和動畫效果。
但這是徹底錯誤的理解。JavaScript確實很容易上手,但其精髓卻不爲大多數開發人員所熟知。編寫高質量的JavaScript代碼更是難上加難。
一個合格的開發人員應該精通JavaScript和其餘編程語言。若是你已經掌握了其餘編程語言,或者你還什麼都不會,請馬上開始學習JavaScript,不要被Web時代所淘汰。
javascript由於兼容於ECMA標準,所以也稱爲ECMAScript。JavaScript做爲一種腳本語言,已經被普遍地應用於Web頁面當中,經過嵌入HTML來實現各類酷炫的動態效果,爲用戶提供賞心悅目的瀏覽效果。除此以外,也能夠用於控制cookies以及基於Node.js技術進行服務器端編程。
javascript是甲骨文公司的註冊商標,完整的JavaScript實現包含三個部分:ECMAScript,文檔對象模型和瀏覽器對象模型。發展初期,JavaScript的標準並未肯定,同期有Netscape的JavaScript,微軟的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(歐洲計算機制造商協會)的協調下,由Netscape、Sun、微軟、Borland組成的工做組肯定統一標準:ECMA-262。
javaScript是一種web前端的描述語言,也是一種基於對象(object)和事件驅動(Event Driven)的、安全性好的腳本語言。
它運行在客戶端從而減輕服務器的負擔。
JavaScript 是互聯網上最流行的腳本語言,這門語言可用於 HTML 和 web,更可普遍用於服務器、PC、筆記本電腦、平板電腦和智能手機等設備。
javaScript的用途是解決頁面交互和數據交互,最終目的是豐富客戶端效果以及數據的有效傳遞。
咱們會有這個問題,咱們先了解下什麼是ECMAScript吧!
ECMAScript是一種由Ecma國際(前身爲歐洲計算機制造商協會,英文名稱是European Computer Manufacturers Association)制定的標準。
JavaScript是由公司開發而成的,問題是不便於其餘的公司拓展和使用。因此歐洲的這個ECMA的組織,牽頭制定JavaScript的標準,取名爲ECMAScript。
簡單來講,ECMAScript不是一門語言,而是一個標準。符合這個標準的比較常見的有:JavaScript、Action Script(Flash中用的語言)。就是說,你JavaScript學完了,Flash中的程序也就垂手可得了。
ECMAScript在2015年6月,發佈了ECMAScript 6版本,語言的能力更強(也包含了不少新特性)。可是,瀏覽器的廠商不能那麼快去追上這個標準。
ECMAScript是腳本程序設計語言的web標準。
javaScript和ECMAScript的關係:
ECMAScript是歐洲計算機制造商協會,基於美國網景通信公司的Netscape發明的javaScript和Microsoft公司隨後模仿javaScript推出JScript腳本語言制定了ECMAScript標準
ECMAScript、DOM、BOM
前端經常使用開發工具:sublime、visual Studio Code、HBuilder、Webstorm。
那麼你們使用的PCharm跟WebStorm是JetBrains公司推出的編輯工具,開發階段建議使用。
微軟出的Visual Studio Code,能夠看作迷你版Visual Studio,免費!跨平臺!內置JavaScript支持,強烈推薦使用!
Sublime Text是一個好用的文本編輯器,免費,但不註冊會不定時彈出提示框。
Notepad++也是免費的文本編輯器,但僅限Windows下使用。
注意:不能夠用Word或寫字板來編寫JavaScript或HTML,由於帶格式的文本保存後不是純文本文件,沒法被瀏覽器正常讀取。也儘可能不要用記事本編寫,它會自做聰明地在保存UTF-8格式文本時添加BOM頭。
JavaScript對初學者比較友好。
JavaScript是有界面效果的(好比C語言只有白底黑字)。
JavaScript是弱變量類型的語言,變量只須要用var來聲明。而Java中變量的聲明,要根據變量的類型來定義。
好比Java中須要定義以下變量:
int a; float a; double a; String a; boolean a;
而JavaScript中,只用定義一個變量:
var a;
JavaScript是前臺語言,而不是後臺語言。
JavaScript運行在用戶的終端網頁上,而不是服務器上,因此咱們稱爲「前臺語言」。JavaScript就是一個簡單的製做頁面效果的語言,就是服務於頁面的交互效果、美化、絢麗、不能操做數據庫。
後臺語言是運行在服務器上的,好比PHP、ASP、JSP等等,這些語言都可以操做數據庫,都可以對數據庫進行「增刪改查」操做。Node.js除外。
JavaScript基礎分爲三個部分:
ECMAScript:JavaScript的語法標準。包括變量、表達式、運算符、函數、if語句、for語句等。
DOM:操做網頁上的元素的API。好比讓盒子移動、變色、輪播圖等。
BOM:操做瀏覽器部分功能的API。好比讓瀏覽器自動滾動。
PS:JS機械重複性的勞動幾乎爲0,基本都是創造性的勞動。而不像HTML、CSS中margin、padding都是機械重複勞動。
(1)簡單易用:可使用任何文本編輯工具編寫,只須要瀏覽器就能夠執行程序。
(2)解釋執行(解釋語言):事先不編譯、逐行執行、無需進行嚴格的變量聲明。
(3)基於對象:內置大量現成對象,編寫少許程序能夠完成目標
用JavaScript能夠作許多事情,使網頁更具交互性,給站點的用戶提供更好、更使人興奮的體驗。JavaScript使你能夠建立活躍的用戶界面,當用戶在頁面間導航時向他們提供反饋。例如,你可能在一些站點上見過在鼠標指針停留時突出顯示的按鈕。這是用JavaScript實現的,使用了一種稱爲翻轉器(rollover)的技術 可使用JavaScript確保用戶在表單中輸入有效的信息,這能夠節省你的業務時間和開支。若是表單須要進行計算,那麼能夠在用戶機器上的JavaScript中完成,而不須要任何服務器端處理。你應該知道一種區分程序的方式:在用戶機器上運行的程序稱爲客戶端(client-side)程序;在服務器上運行的程序(包括後面要討論的CGI)稱爲服務器端(server-side)程序。 可使用JavaScript根據用戶的操做即時建立定製的HTML頁面。假設你正在運行一個旅行指南站點,用戶點擊夏威夷做爲旅遊目的地。你能夠在一個新窗口中顯示最新的夏威夷旅遊指南。JavaScript能夠控制瀏覽器,因此你能夠打開新窗口、顯示警告框以及在瀏覽器窗口的狀態欄中顯示定製的消息。JavaScript有一套日期和時間特性,能夠生成時鐘、日曆和時間戳文檔。 JavaScript還能夠處理表單、設置cookie、即時構建HTML頁面以及建立基於Web的應用程序。
JavaScript是一種客戶端(client-side)語言;也就是說,設計它的目的是在用戶的機器上執行任務,而不是在服務器上。所以,JavaScript有一些固有的限制,這些限制主要出於安全緣由:
咱們的第一個腳本:最經典的HelloWorld程序!
<script type="text/javascript"> document.write("<h2>Hello,JavaScriptWorld!</h2>"); </script>