天天看點

javaScript之基礎介紹

前言一:javascript曆史背景介紹

javaScript之基礎介紹

  布蘭登 • 艾奇(Brendan Eich,1961年~),1995年在網景公司,發明的JavaScript。

  一開始JavaScript叫做LiveScript,但是由于當時Java這個語言特别火,是以為了傍大牌,就改名為JavaScript。如同“北大”和“北大青鳥”的關系。“北大青鳥”就是傍“北大”大牌。

  同時期還有其他的網頁語言,比如VBScript、JScript等等,但是後來都被JavaScript打敗了,是以現在的浏覽器中,隻運作一種腳本語言就是JavaScript

前言二:javascript的悲催發展史

  說到javascript,大家應該都不陌生,但是我們現在要了解的是它的發展史

  javascript是一種直譯式 的腳本語言,是一種動态類型,弱類型,基于原型的語言,内置支援類型。

  最開始他的誕生是因為需要處理伺服器的一些表單驗證,比如說在以前注冊的時候并不會像現在一樣,以前不會提示你使用者名已經被注冊,是以以前你認認真真的填了慢慢的資訊,點一個送出要等個十幾分鐘,最後彈出來一個視窗告訴你使用者名已經被注冊了,然後一重新整理,你之前填的東西全沒了。。。。。。。。

  1995年,javascript由Netscape公司的Brendan Eich,在網景浏覽器首次設計實作而成。當時他被叫做livescript。但當時java非常火,是以他想借機傳播自己,于是改名改稱為javascript,但是呢和java沒有半毛錢關系。

  javascript1.0一經過推出,便獲得了巨大的成功,Netscape随後又推出了一系列的版本,在當時市面上有三種js的版本,IE的JScript,網景的javaScript,script Ease的CEnvi。可是javascript畢竟是公司開發的,規範性的問題漸漸暴露出來。

  最後由EMCA(歐洲計算機制造協會)進行标準化,這裡說下EMCAscript不等于javascrpt。

  自此後javascript一統江湖。

  那你以為javascript就此走上了人生巅峰了嗎?

  不不不,在2003年以前,javascript有個外号叫“牛皮癬”,可謂是臭名遠揚。這個比喻還是比較生動的,當時什麼浮動廣告,小廣告,小彈窗啊都是他的傑作,一談起javascript,那簡直就是禍害。

  但是是金子總會發光的。

  2004年的,js的命運被改變,當時的谷歌公司開始重視Ajax。什麼是Ajax,舉個例子,比如我們想在網上差個資訊,都會有下拉的提示,通過異步互動技術完成。

  2007年,喬布斯推出第一代蘋果手機,打開了手機開啟桌面級浏覽器新時代,js迎來了他自出生而來的重大轉折點。

  2010年,推出了html3的畫布功能。工程師可以在canvas進行遊戲制作,如今開始流行webapp,用頁面技術開發手機應用,javascript也算是走上了人生巅峰。

  Javascript,從“最被誤解的語言”,最後神奇地轉變成為“最流行的語言”,證明它經受得起時間的考驗。雖然單獨來看,它的互動設計有些失敗,但是加上Ajax的完美配合,javascript就成了一款輕便并且又實用的好文法。

前言三:為什麼要學習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時代所淘汰。

一,javaScrpt是什麼?   

  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的特點:

  1. javaScript主要用來向html頁面中添加互動行為
  2. javaScript是一種腳本語言,文法和c語言系列語言的文法類似,屬弱語言類型。
  3. javaScript一般用來編寫用戶端腳本,如node.js例外。
  4. javaScript是一種解釋型語言,邊執行邊解釋無需另外編譯。
  5. javascript是一種輕量級别的程式設計語言
  6. javascript是可插入HTML頁面的程式設計代碼
  7. javascript插入HTML頁面後,可由所有的現代浏覽器執行

二,javaScript的用途是什麼?

  javaScript的用途是解決頁面互動和資料互動,最終目的是豐富用戶端效果以及資料的有效傳遞。

  1. 實作頁面互動,提升使用者體驗實作頁面特效。即js操作html的dom節構或操作樣式。
  2. 用戶端表單驗證即在資料送達服務端之前進行使用者送出資訊即時有效地驗證,減輕伺服器壓力。即資料互動。

三,javaScrpit和ECMAScript的關系是什麼?

我們會有這個問題,我們先了解下什麼是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标準

四,javaScript由哪幾部分組成?

ECMAScript、DOM、BOM
      

五,開發工具介紹

前端常用開發工具:sublime、visual Studio Code、HBuilder、Webstorm。

那麼大家使用的PCharm跟WebStorm是JetBrains公司推出的編輯工具,開發階段建議使用。

Visual Studio Code

微軟出的Visual Studio Code,可以看做迷你版Visual Studio,免費!跨平台!内置JavaScript支援,強烈推薦使用!

SublimeText

Sublime Text是一個好用的文本編輯器,免費,但不注冊會不定時彈出提示框。

Notepad++

Notepad++也是免費的文本編輯器,但僅限Windows下使用。

注意:不可以用Word或寫字闆來編寫JavaScript或HTML,因為帶格式的文本儲存後不是純文字檔案,無法被浏覽器正常讀取。也盡量不要用記事本編寫,它會自作聰明地在儲存UTF-8格式文本時添加BOM頭。

 六,javascript入門易學

  • JavaScript對初學者比較友好。
  • JavaScript是有界面效果的(比如C語言隻有白底黑字)。
  • JavaScript是弱變量類型的語言,變量隻需要用var來聲明。而Java中變量的聲明,要根據變量的類型來定義。

比如Java中需要定義如下變量:

int a;
    float a;
    double a;
    String a;
    boolean a;
      

  而JavaScript中,隻用定義一個變量:

var a;
      

  

  • JavaScript不用關心其他的一些事情(比如記憶體的釋放、指針等),更關心自己的業務。

七,javascript是前台語言

  JavaScript是前台語言,而不是背景語言。

  JavaScript運作在使用者的終端網頁上,而不是伺服器上,是以我們稱為“前台語言”。JavaScript就是一個簡單的制作頁面效果的語言,就是服務于頁面的互動效果、美化、絢麗、不能操作資料庫。

  背景語言是運作在伺服器上的,比如PHP、ASP、JSP等等,這些語言都能夠操作資料庫,都能夠對資料庫進行“增删改查”操作。Node.js除外。

八,javascript的組成

JavaScript基礎分為三個部分:

  • ECMAScript:JavaScript的文法标準。包括變量、表達式、運算符、函數、if語句、for語句等。
  • DOM:操作網頁上的元素的API。比如讓盒子移動、變色、輪播圖等。
  • BOM:操作浏覽器部分功能的API。比如讓浏覽器自動滾動。

PS:JS機械重複性的勞動幾乎為0,基本都是創造性的勞動。而不像HTML、CSS中margin、padding都是機械重複勞動。

九,javascript的特點

(1)簡單易用:可以使用任何文本編輯工具編寫,隻需要浏覽器就可以執行程式。

(2)解釋執行(解釋語言):事先不編譯、逐行執行、無需進行嚴格的變量聲明。

(3)基于對象:内置大量現成對象,編寫少量程式可以完成目标

十,javascript可以做什麼?

  用JavaScript可以做許多事情,使網頁更具互動性,給站點的使用者提供更好、更令人興奮的體驗。JavaScript使你可以建立活躍的使用者界面,當使用者在頁面間導航時向他們提供回報。例如,你可能在一些站點上見過在滑鼠指針停留時突出顯示的按鈕。這是用JavaScript實作的,使用了一種稱為翻轉器(rollover)的技術 可以使用JavaScript確定使用者在表單中輸入有效的資訊,這可以節省你的業務時間和開支。如果表單需要進行計算,那麼可以在使用者機器上的JavaScript中完成,而不需要任何伺服器端處理。你應該知道一種區分程式的方式:在使用者機器上運作的程式稱為用戶端(client-side)程式;在伺服器上運作的程式(包括後面要讨論的CGI)稱為伺服器端(server-side)程式。 可以使用JavaScript根據使用者的操作即時建立定制的HTML頁面。假設你正在運作一個旅行指南站點,使用者點選夏威夷作為旅遊目的地。你可以在一個新視窗中顯示最新的夏威夷旅遊指南。JavaScript可以控制浏覽器,是以你可以打開新視窗、顯示警告框以及在浏覽器視窗的狀态欄中顯示定制的消息。JavaScript有一套日期和時間特性,可以生成時鐘、月曆和時間戳文檔。 JavaScript還可以處理表單、設定cookie、即時建構HTML頁面以及建立基于Web的應用程式。

十一,javascript不能做什麼?

JavaScript是一種用戶端(client-side)語言;也就是說,設計它的目的是在使用者的機器上執行任務,而不是在伺服器上。是以,JavaScript有一些固有的限制,這些限制主要出于安全原因:

  • 1.JavaScript不允許讀寫客戶機器上的檔案。這是有好處的,因為你肯定不希望網頁能夠讀取自己硬碟上的檔案,或者能夠将病毒寫入硬碟,或者能夠操作你計算機上的檔案。唯一的例外是,JavaScript可以寫到浏覽器的cookie檔案,但是也有一些限制
  • 2.JavaScript不允許寫伺服器機器上的檔案。盡管寫伺服器上的檔案在許多方面是很友善的(比如存儲頁面點選數或使用者填寫的表單資料),但是JavaScript不允許這麼做。相反,需要用伺服器上的一個程式處理和存儲這些資料。這個程式可以是用Perl或PHP等語言編寫的CGI或Java程式。
  • 3.JavaScript不能關閉不是由它自己打開的視窗。這是為了避免一個站點關閉其他任何站點的視窗,進而獨占浏覽器。
  • 4.JavaScript不能從來自另一個伺服器的已經打開的網頁中讀取資訊。換句話說,網頁不能讀取已經打開的其他視窗中的資訊,是以無法探察通路這個站點的沖浪者還在通路哪些其他站點。

我們的第一個腳本:最經典的HelloWorld程式!

<script type="text/javascript">
        document.write("<h2>Hello,JavaScriptWorld!</h2>");
</script>
      

不經一番徹骨寒 怎得梅花撲鼻香