溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript腳本語言指的是什么

發(fā)布時(shí)間:2021-07-09 11:39:58 來源:億速云 閱讀:158 作者:小新 欄目:web開發(fā)

小編給大家分享一下JavaScript腳本語言指的是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

最早是在HTML上使用的,用來給HTML網(wǎng)頁添加動態(tài)功能,由Netscape的LiveScript發(fā)展而來的原型化繼承的面向?qū)ο蟮膭討B(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題及響應(yīng)用戶的各種操作,為客戶提供更流暢的瀏覽效果。因?yàn)楫?dāng)時(shí)服務(wù)端需要對數(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è)不同部分組成的:

JavaScript腳本語言指的是什么

ECMAScript:描述了該語言的語法和基本對象;
文檔對象模型(Document Object Model,簡稱DOM)):描述處理網(wǎng)頁內(nèi)容的方法和接口;
瀏覽器對象模型(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以減少對服務(wù)器的負(fù)擔(dān),而與此同時(shí)也帶來另一個(gè)問題:安全性。

而隨著服務(wù)器的強(qiáng)壯,雖然現(xiàn)在的程序員更喜歡運(yùn)行于服務(wù)端的腳本以保證安全,但JavaScript仍然以其跨平臺、容易上手等優(yōu)勢大行其道。同時(shí),有些特殊功能(如AJAX)必須依賴Javascript在客戶端進(jìn)行支持。隨著引擎如V8和框架如Node.js的發(fā)展,及其事件驅(qū)動及異步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é)會。這個(gè)腳本語言捆綁在一個(gè)叫做 CEnvi 的共享軟件中,它首次向開發(fā)人員展示了這種語言的威力。
Nombas 最終把 Cmm 的名字改成了 ScriptEase,原因是后面的部分(mm)聽起來過于消極,同時(shí)字母 C “令人害怕”。
現(xiàn)在 ScriptEase 已經(jīng)成為了 Nombas 產(chǎn)品背后的主要驅(qū)動力。

2、Netscape發(fā)明了JavaScript

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

當(dāng)網(wǎng)上沖浪越來越流行時(shí),對于開發(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é)會)創(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é)會(ECMA)。第39技術(shù)委員會(TC39)被委派來“標(biāo)準(zhǔn)化一個(gè)通用、跨平臺、中立于廠商的腳本語言的語法和語義”。由來自 Netscape、Sun、微軟、Borland 和其他一些對腳本編程感興趣的公司的程序員組成的 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)化組織及國際電工委員會(ISO/IEC)也采納 ECMAScript 作為標(biāo)準(zhǔn)(ISO/IEC-16262)。從此,Web 瀏覽器就開始努力(雖然有著不同的程度的成功和失?。?ECMAScript 作為 JavaScript 實(shí)現(xiàn)的基礎(chǔ)。

五、JavaScript常用來完成以下任務(wù)
1、嵌入動態(tài)文本于HTML頁面
2、對瀏覽器事件作出響應(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, 動力節(jié)點(diǎn)!");  // 在瀏覽器視窗內(nèi)直接顯示
      alert("Hello, 動力節(jié)點(diǎn)!");      // 彈窗顯示
      console.log("Hello, 動力節(jié)點(diǎn)!");   // 在控制臺(console)里顯示,需要先開啟開發(fā)工具控制臺
    </script>
   </head>
   <body>
  HTML頁面內(nèi)容……
   </body>
  </html>

在這個(gè)例子中,我們可看到一個(gè)新的標(biāo)簽:<script>……</script>,而<script language="Javascript"> 用來告訴瀏覽器這是用Javascript編寫的程序,需要調(diào)動相應(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)容都會被忽略。

七、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)品。

其次它們在功能上也有些差異:Java在客戶端的運(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)了。

以上是“JavaScript腳本語言指的是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI