最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript腳本語言是什么_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

 更新時(shí)間:2017年06月26日 10:26:22   作者:馬海祥  
JavaScript是什么?這篇文章主要介紹了一種廣泛用于客戶端Web開發(fā)的腳本語言JavaScript,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

JavaScript,也稱ECMAScript,是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性并廣泛用于客戶端網(wǎng)頁開發(fā)的腳本語言,同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語言。

最早是在HTML上使用的,用來給HTML網(wǎng)頁添加動(dòng)態(tài)功能,由Netscape的LiveScript發(fā)展而來的原型化繼承的面向?qū)ο蟮膭?dòng)態(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題及響應(yīng)用戶的各種操作,為客戶提供更流暢的瀏覽效果。因?yàn)楫?dāng)時(shí)服務(wù)端需要對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗(yàn)證步驟浪費(fèi)的時(shí)間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗(yàn)證的基本功能。然而現(xiàn)在JavaScript也可被用于網(wǎng)絡(luò)服務(wù)器,如Node.js。

一、javascript的組成

一個(gè)完整的 JavaScript 實(shí)現(xiàn)是由以下 3 個(gè)不同部分組成的:

ECMAScript:描述了該語言的語法和基本對(duì)象;
文檔對(duì)象模型(Document Object Model,簡稱DOM)):描述處理網(wǎng)頁內(nèi)容的方法和接口;
瀏覽器對(duì)象模型(Browser Object Model,簡稱BOM)):描述與瀏覽器進(jìn)行交互的方法和接口。

二、javascript的基本特點(diǎn)

是一種解釋性腳本語言(代碼不進(jìn)行預(yù)編譯)。
主要用來向 HTML 頁面添加交互行為。
可以直接嵌入 HTML 頁面,但寫成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。

三、javascript的特性

不同于服務(wù)器端腳本語言,例如PHP與ASP,JavaScript主要被作為客戶端腳本語言在用戶的瀏覽器上運(yùn)行,不需要服務(wù)器的支持。所以在早期程序員比較青睞于JavaScript以減少對(duì)服務(wù)器的負(fù)擔(dān),而與此同時(shí)也帶來另一個(gè)問題:安全性。

而隨著服務(wù)器的強(qiáng)壯,雖然現(xiàn)在的程序員更喜歡運(yùn)行于服務(wù)端的腳本以保證安全,但JavaScript仍然以其跨平臺(tái)、容易上手等優(yōu)勢大行其道。同時(shí),有些特殊功能(如AJAX)必須依賴Javascript在客戶端進(jìn)行支持。隨著引擎如V8和框架如Node.js的發(fā)展,及其事件驅(qū)動(dòng)及異步IO等特性,JavaScript逐漸被用來編寫服務(wù)器端程序。

四、JavaScript的發(fā)展歷史背景

1、Nombas和ScriptEase

大概在1992年,一家稱作Nombas的公司開發(fā)了一種叫做C 減減(C-minus-minus,簡稱 Cmm)的嵌入式腳本語言。Cmm 背后的理念很簡單:一個(gè)足夠強(qiáng)大可以替代宏操作(macro)的腳本語言,同時(shí)保持與 C (和 C ++)足夠的相似性,以便開發(fā)人員能很快學(xué)會(huì)。這個(gè)腳本語言捆綁在一個(gè)叫做 CEnvi 的共享軟件中,它首次向開發(fā)人員展示了這種語言的威力。
Nombas 最終把 Cmm 的名字改成了 ScriptEase,原因是后面的部分(mm)聽起來過于消極,同時(shí)字母 C “令人害怕”。
現(xiàn)在 ScriptEase 已經(jīng)成為了 Nombas 產(chǎn)品背后的主要驅(qū)動(dòng)力。

2、Netscape發(fā)明了JavaScript

當(dāng) Netscape Navigator 嶄露頭角時(shí),Nombas 開發(fā)了一個(gè)可以嵌入網(wǎng)頁中的 CEnvi 的版本。這些早期的試驗(yàn)被稱為 Espresso Page(濃咖啡般的頁面),它們代表了第一個(gè)在萬維網(wǎng)上使用的客戶端語言。而 Nombas 絲毫沒有料到它的理念將會(huì)成為萬維網(wǎng)的一塊重要基石。

當(dāng)網(wǎng)上沖浪越來越流行時(shí),對(duì)于開發(fā)客戶端腳本的需求也逐漸增大。此時(shí),大部分因特網(wǎng)用戶還僅僅通過 28.8 kbit/s 的調(diào)制解調(diào)器連接到網(wǎng)絡(luò),即便這時(shí)網(wǎng)頁已經(jīng)不斷地變得更大和更復(fù)雜。而更加加劇用戶痛苦的是,僅僅為了簡單的表單有效性驗(yàn)證,就要與服務(wù)器進(jìn)行多次地往返交互。設(shè)想一下,用戶填完一個(gè)表單,點(diǎn)擊提交按鈕,等待了 30 秒的處理后,看到的卻是一條告訴你忘記填寫一個(gè)必要的字段。

那時(shí)正處于技術(shù)革新最前沿的 Netscape,開始認(rèn)真考慮開發(fā)一種客戶端腳本語言來解決簡單的處理問題。

當(dāng)時(shí)工作于Netscape的Brendan Eich,開始著手為即將在 1995 年發(fā)行的 Netscape Navigator 2.0 開發(fā)一個(gè)稱之為 LiveScript 的腳本語言,當(dāng)時(shí)的目的是在瀏覽器和服務(wù)器(本來要叫它 LiveWire)端使用它。Netscape 與 Sun 及時(shí)完成 LiveScript 實(shí)現(xiàn)。

就在 Netscape Navigator 2.0 即將正式發(fā)布前,Netscape 將其更名為JavaScript。雖然Netscape在最初將其腳本語言命名為LiveScript,后來Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開始設(shè)計(jì)的,目的之一就是“看上去像Java”,因此語法上有類似之處,一些名稱和命名規(guī)范也借自Java。但JavaScript的主要設(shè)計(jì)原則源自Self和Scheme。

JavaScript與Java名稱上的近似,是當(dāng)時(shí)網(wǎng)景為了營銷考慮與太陽微系統(tǒng)達(dá)成協(xié)議的結(jié)果。為了取得技術(shù)優(yōu)勢,微軟推出了JScript來迎戰(zhàn)JavaScript的腳本語言。為了互用性,Ecma國際(前身為歐洲計(jì)算機(jī)制造商協(xié)會(huì))創(chuàng)建了ECMA-262標(biāo)準(zhǔn)(ECMAScript)?,F(xiàn)在兩者都屬于ECMAScript的實(shí)現(xiàn)。盡管JavaScript作為給非程序人員的腳本語言,而非作為給程序人員的腳本語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。JavaScript 從此變成了因特網(wǎng)的必備組件。

3、三足鼎立

因?yàn)?JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中發(fā)布了 1.1 版。恰巧那個(gè)時(shí)候,微軟決定進(jìn)軍瀏覽器,發(fā)布了 IE 3.0 并搭載了一個(gè) JavaScript 的克隆版,叫做 JScript(這樣命名是為了避免與 Netscape 潛在的許可糾紛)。微軟步入 Web 瀏覽器領(lǐng)域的這重要一步雖然令其聲名狼藉,但也成為 JavaScript 語言發(fā)展過程中的重要一步。

在微軟進(jìn)入后,有3種不同的 JavaScript 版本同時(shí)存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。與 C 和其他編程語言不同的是,JavaScript 并沒有一個(gè)標(biāo)準(zhǔn)來統(tǒng)一其語法或特性,而這 3 種不同的版本恰恰突出了這個(gè)問題。隨著業(yè)界擔(dān)心的增加,這個(gè)語言的標(biāo)準(zhǔn)化顯然已經(jīng)勢在必行。

4、標(biāo)準(zhǔn)化

1997年,JavaScript 1.1 作為一個(gè)草案提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA)。第39技術(shù)委員會(huì)(TC39)被委派來“標(biāo)準(zhǔn)化一個(gè)通用、跨平臺(tái)、中立于廠商的腳本語言的語法和語義”。由來自 Netscape、Sun、微軟、Borland 和其他一些對(duì)腳本編程感興趣的公司的程序員組成的 TC39 錘煉出了 ECMA-262,該標(biāo)準(zhǔn)定義了名為 ECMAScript 的全新腳本語言。

目前符合 ECMA-262 3rd Edition 標(biāo)準(zhǔn)的實(shí)現(xiàn)有:

       Microsoft 公司的 JScript
  Mozilla 的 JavaScript-C(C語言實(shí)現(xiàn)),現(xiàn)名 SpiderMonkey
  Mozilla 的 Rhino(Java 實(shí)現(xiàn))
  Digital Mars 公司的 DMDScript
  Google 公司的 V8

在接下來的幾年里,國際標(biāo)準(zhǔn)化組織及國際電工委員會(huì)(ISO/IEC)也采納 ECMAScript 作為標(biāo)準(zhǔn)(ISO/IEC-16262)。從此,Web 瀏覽器就開始努力(雖然有著不同的程度的成功和失敗)將 ECMAScript 作為 JavaScript 實(shí)現(xiàn)的基礎(chǔ)。

五、JavaScript常用來完成以下任務(wù)
1、嵌入動(dòng)態(tài)文本于HTML頁面
2、對(duì)瀏覽器事件作出響應(yīng)
3、讀寫HTML元素
4、在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)
5、檢測訪客的瀏覽器信息
6、控制cookies,包括創(chuàng)建和修改等

六、Javascript的使用方式

Javascript加入網(wǎng)頁有兩種方法:直接方式和引用方式。
1、直接方式

這是最常用的方法,大部分含有Javascript的網(wǎng)頁都采用這種方法,例如:

<html>
    <head>
   <title>簡單的JavaScript Hello World</title>
    <script type="text/javascript">
      document.write("Hello, 動(dòng)力節(jié)點(diǎn)!");  // 在瀏覽器視窗內(nèi)直接顯示
      alert("Hello, 動(dòng)力節(jié)點(diǎn)!");      // 彈窗顯示
      console.log("Hello, 動(dòng)力節(jié)點(diǎn)!");   // 在控制臺(tái)(console)里顯示,需要先開啟開發(fā)工具控制臺(tái)
    </script>
   </head>
   <body>
  HTML頁面內(nèi)容……
   </body>
  </html>

在這個(gè)例子中,我們可看到一個(gè)新的標(biāo)簽:<script>……</script>,而<script language="Javascript"> 用來告訴瀏覽器這是用Javascript編寫的程序,需要調(diào)動(dòng)相應(yīng)的解釋程序進(jìn)行解釋。(w3c已經(jīng)建議使用新的標(biāo)準(zhǔn):<script type="application/javascript">)

注意在非xhtml文檔中插入script標(biāo)簽時(shí),如果不是引用外部文件,應(yīng)該在script內(nèi)加上cdata聲明,避免大于和小于運(yùn)算符引起的瀏覽器解析錯(cuò)誤

2、引用方式

如果已經(jīng)存在一個(gè)Javascript源文件(通常以js為擴(kuò)展名),則可以采用這種引用的方式,以提高程序代碼的利用率。其基本格式如下:

<script src=“url” type="text/javascript"></script>

其中的Url就是程序文件的地址。同樣的,這樣的語句可以放在HTML文檔頭部或主體的任何部分。如果要實(shí)現(xiàn)“直接插入方式”中所舉例子的效果,可以首先創(chuàng)建一個(gè)Javascript源代碼文件“Script.js”,其內(nèi)容如下:

document.write("這是Javascript!采用直接插入的方法!");

在網(wǎng)頁中可以這樣調(diào)用程序:<script src="Script.js" type="text/javascript"></script> 。
也可以同時(shí)在導(dǎo)入文件時(shí)制定javascript的版本,例如:<script src="Script.js" type="text/javascript; version=1.8"></script>

注意:凡是指定了src屬性的script標(biāo)簽里的內(nèi)容都會(huì)被忽略。

七、JavaScript與Java的區(qū)別
很多人看到Java和JavaScript都有“Java”四個(gè)字,就以為它們是同一樣?xùn)|西,連我自己當(dāng)初也是這樣。事實(shí)上,JAVA語言和JavaScript語言是相關(guān)的,但是它們的聯(lián)系并非你想像的那樣緊密。首先Java語言是SUN Microsystems公司的產(chǎn)品,而JavaScript是Netscape公司的產(chǎn)品。

其次它們?cè)诠δ苌弦灿行┎町悾篔ava在客戶端的運(yùn)行的應(yīng)用程序叫做Java Applet,是嵌在網(wǎng)頁中,而又有自己獨(dú)立的運(yùn)行窗口的小程序。Java Applet 是預(yù)先編譯好的,一個(gè)Applet 文件(.class)用Notepad 打開閱讀,根本不能理解。Java Applet 的功能很強(qiáng)大,可以訪問http、ftp等協(xié)議,甚至可以在電腦上種病毒(已有先例了)。

相比之下,JavaScript 的能力就比較小了。JavaScript 是一種“腳本”(“Script”),它直接把代碼寫到HTML 文檔中,瀏覽器讀取它們的時(shí)候才進(jìn)行編譯、執(zhí)行,所以能查看HTML 源文件就能查看JavaScript 源代碼。JavaScript 沒有獨(dú)立的運(yùn)行窗口,瀏覽器當(dāng)前窗口就是它的運(yùn)行窗口。它們的相同點(diǎn),我想只有同是以Java 作編程語言一點(diǎn)了。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript鼠標(biāo)滑過顯示二級(jí)菜單特效

    javascript鼠標(biāo)滑過顯示二級(jí)菜單特效

    這篇文章主要為大家詳細(xì)介紹了javascript鼠標(biāo)滑過顯示二級(jí)菜單特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 詳解Javascript事件驅(qū)動(dòng)編程

    詳解Javascript事件驅(qū)動(dòng)編程

    這篇文章主要為大家詳細(xì)介紹了Javascript事件驅(qū)動(dòng)編程的相關(guān)資料,通過經(jīng)典案例向大家介紹Javascript事件驅(qū)動(dòng)編程,需要的朋友可以參考下
    2016-01-01
  • javascript求日期差的方法

    javascript求日期差的方法

    這篇文章主要介紹了javascript求日期差的方法,涉及JavaScript日期及字符串操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-03-03
  • 出現(xiàn)“不能執(zhí)行已釋放的Script代碼”錯(cuò)誤的原因及解決辦法

    出現(xiàn)“不能執(zhí)行已釋放的Script代碼”錯(cuò)誤的原因及解決辦法

    出現(xiàn)“不能執(zhí)行已釋放的Script代碼”錯(cuò)誤的原因及解決辦法...
    2007-08-08
  • JavaScript文檔注釋深入講解(非常詳細(xì))

    JavaScript文檔注釋深入講解(非常詳細(xì))

    這篇文章主要給大家介紹了關(guān)于JavaScript文檔注釋的相關(guān)資料,當(dāng)編寫代碼時(shí)文檔注釋是一種特殊的注釋格式,用于描述函數(shù)、類、方法或變量的功能、使用方法和參數(shù)等詳細(xì)信息,需要的朋友可以參考下
    2024-01-01
  • js實(shí)現(xiàn)的牛頓擺效果

    js實(shí)現(xiàn)的牛頓擺效果

    本文給大家分享的是使用javascript實(shí)現(xiàn)牛頓排球的特效,非常不錯(cuò),這里推薦給大家,有相同需求的小伙伴能夠參考下。
    2015-03-03
  • 一個(gè)不錯(cuò)的js html頁面倒計(jì)時(shí)可精確到秒

    一個(gè)不錯(cuò)的js html頁面倒計(jì)時(shí)可精確到秒

    這篇文章主要介紹了一個(gè)不錯(cuò)的js html頁面倒計(jì)時(shí)可精確到秒,很簡單,但和實(shí)用,需要的朋友可以參考下
    2014-10-10
  • 使用JS操作文件(FileReader讀取--node的fs)

    使用JS操作文件(FileReader讀取--node的fs)

    這篇文章主要介紹了使用JS操作文件(FileReader讀取--node的fs),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • js實(shí)現(xiàn)蒙版效果

    js實(shí)現(xiàn)蒙版效果

    這篇文章主要為大家詳細(xì)介紹了比較常見的js蒙版效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • JavaScript碰撞檢測原理及其實(shí)現(xiàn)代碼

    JavaScript碰撞檢測原理及其實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了JavaScript碰撞檢測原理及其實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評(píng)論

绥阳县| 西峡县| 庆城县| 集贤县| 如东县| 额尔古纳市| 奈曼旗| 德阳市| 凤凰县| 寿宁县| 武川县| 邵武市| 乌恰县| 调兵山市| 阿巴嘎旗| 新郑市| 长春市| 望奎县| 南昌县| 昭觉县| 仙桃市| 广饶县| 庆安县| 南城县| 阜宁县| 肃宁县| 阿图什市| 东乡县| 巴林左旗| 鄂伦春自治旗| 凤翔县| 岳阳县| 奈曼旗| 台东市| 井陉县| 石棉县| 汉沽区| 黄平县| 富锦市| 沅江市| 隆林|