小編給大家分享一下ECMAScript和JavaScript對(duì)比有哪些區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
武侯網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
1、ECMAScript的簡(jiǎn)介
ECMAScript是一種由Ecma國(guó)際(前身為歐洲計(jì)算機(jī)制造商協(xié)會(huì),英文名稱是European Computer Manufacturers Association)通過(guò)ECMA-262標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語(yǔ)言。這種語(yǔ)言在萬(wàn)維網(wǎng)上應(yīng)用廣泛,它往往被稱為JavaScript或JScript,所以它可以理解為是JavaScript的一個(gè)標(biāo)準(zhǔn),但實(shí)際上后兩者是ECMA-262標(biāo)準(zhǔn)的實(shí)現(xiàn)和擴(kuò)展。
1.1 ECMA International
ECMA International是一家國(guó)際性會(huì)員制度的信息和電信標(biāo)準(zhǔn)組織,它和企業(yè)密切相連的組織,所以 Ecma國(guó)際制定的規(guī)范標(biāo)準(zhǔn)都是由各類(lèi)企業(yè)來(lái)做主要的制定和推廣。1997年該組織發(fā)布了MCMA-262的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)制定了ECMAScript語(yǔ)言規(guī)范。ECMAScript就是從這里來(lái)的。
1.2 ECMA-262標(biāo)準(zhǔn)(ES標(biāo)準(zhǔn))
ECMA-262是ECMA TC39小組制定的關(guān)于腳本語(yǔ)言的規(guī)范標(biāo)準(zhǔn)。TC39成員由來(lái)自一些對(duì)腳本編程感興趣的公司的程序員組成的。
ECMA-262標(biāo)準(zhǔn)定義了ECMAScript語(yǔ)言規(guī)范。這個(gè)標(biāo)準(zhǔn)也叫成為ECMAScript語(yǔ)言規(guī)范(ECMAScript Language Specification),簡(jiǎn)稱ES規(guī)范。
ES規(guī)范從1997發(fā)布到現(xiàn)在為止是第八個(gè)版本。ECMAScript是基于幾種原始技術(shù),最著名的是JavaScript(Netscape Navigator 2.0)和JScript(Microsoft IE3)。
1.3 JavaScript標(biāo)準(zhǔn)化的歷程
1995年前后:互聯(lián)網(wǎng)爆發(fā),Web應(yīng)用層出不窮,那時(shí)候只要有注冊(cè)一個(gè).com的域名,基本就能暴富,就如同現(xiàn)在的區(qū)塊鏈和人工智能。就在那時(shí)候JavaScript有三個(gè)主流版本:
(1)Netscape Navigator 3.0 中的 JavaScript。
(2)IE 中的 JScript。
(3)CEnvi 中的ScriptEase。
與和其它編程語(yǔ)言不同的是,JavaScript 并沒(méi)有一個(gè)標(biāo)準(zhǔn)來(lái)統(tǒng)一其語(yǔ)法或特性,而這 3 種不同的版本恰恰突出了這個(gè)問(wèn)題。隨著業(yè)界擔(dān)心的增加,這個(gè)語(yǔ)言的標(biāo)準(zhǔn)化顯然已經(jīng)勢(shì)在必行。
1997年:JavaScript 1.1 作為一個(gè)草案提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA)。第 39 技術(shù)委員會(huì)(TC39)被委派來(lái)“標(biāo)準(zhǔn)化一個(gè)通用、跨平臺(tái)、中立于廠商的腳本語(yǔ)言的語(yǔ)法和語(yǔ)義”。 錘煉出了 ECMA-262第一版,該標(biāo)準(zhǔn)定義了名為 ECMAScript 的全新腳本語(yǔ)言。
1998年:國(guó)際標(biāo)準(zhǔn)化組織及國(guó)際電工委員會(huì)(ISO/IEC)也采納 ECMAScript 作為標(biāo)準(zhǔn)(ISO/IEC-16262)。同年發(fā)布了ECMA-262第二個(gè)版(ES2).第二個(gè)版本基本沒(méi)有加新功能。
2002年:ECMA-262第三版(ES3),新增引入了強(qiáng)大的正則表達(dá)式,更好的字符串處理,新的控制語(yǔ)句,try / catch異常處理,更嚴(yán)格的錯(cuò)誤定義,數(shù)字輸出的格式化以及預(yù)期未來(lái)語(yǔ)言增長(zhǎng)的微小變化。第三版在當(dāng)時(shí)應(yīng)用非常廣泛,幾乎所有的瀏覽器都支持ES3的標(biāo)準(zhǔn)。
ECMA-262第4版本(ES4)夭折,部分功能被遷移到ES6中。
2009年:ECMA-262第五版(ES5)發(fā)布。在ES3的基礎(chǔ)上增加了很多功能:包括訪問(wèn)器屬性,對(duì)象的反射創(chuàng)建和檢查,屬性的程序控制,附加的數(shù)組操作函數(shù),對(duì)JSON對(duì)象編碼格式的支持以及提供增強(qiáng)的錯(cuò)誤檢查和程序安全性的嚴(yán)格模式。
2011年:被批準(zhǔn)為國(guó)際標(biāo)準(zhǔn)ISO/IEC 16262:2011。同年發(fā)布ES5.1版本(對(duì)ES5做一些升級(jí)優(yōu)化)同時(shí)被MCMA-262和ISO/IEC批準(zhǔn)。
2015年:ECMA-262第六版(ES6或者叫ES 2015語(yǔ)言規(guī)范),ES6可以說(shuō)從2000年,ES3發(fā)布之后就開(kāi)始沉淀,由于ES4的夭折,ES4中的一些功能特性一直等到ES6才發(fā)布,所以第六版的完全是十五年的努力的結(jié)果。
ES6為大型應(yīng)用程序提供更好的支持,創(chuàng)建Lib庫(kù),以及使用ECMAScript作為其它語(yǔ)言的編譯目標(biāo)。ES6主要新增了如下功能:主要增強(qiáng)包括模塊,類(lèi)聲明,詞法塊范圍,迭代器和生成器,異步編程的承諾,解構(gòu)模式和適當(dāng)?shù)奈膊空{(diào)用。內(nèi)置的ECMAScript庫(kù)被擴(kuò)展為支持額外的數(shù)據(jù)抽象,包括映射,集合和二進(jìn)制數(shù)值數(shù)組,以及對(duì)字符串和正則表達(dá)式的使用。
2、JavaScript的簡(jiǎn)介
JavaScript一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類(lèi)型、弱類(lèi)型、基于原型的語(yǔ)言,內(nèi)置支持類(lèi)型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語(yǔ)言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)網(wǎng)頁(yè)上使用,用來(lái)給HTML網(wǎng)頁(yè)增加動(dòng)態(tài)功能。
JavaScript是通用的跨平臺(tái)腳本語(yǔ)言,遵守ECMA-262標(biāo)準(zhǔn)(ES標(biāo)準(zhǔn)),換句話說(shuō)就是ECMAScript的方言。為了取得技術(shù)優(yōu)勢(shì),微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運(yùn)行。為了統(tǒng)一規(guī)格,因?yàn)镴avaScript兼容于ECMA標(biāo)準(zhǔn),因此也稱為ECMAScript。
JavasSript商標(biāo)屬于Oracle公司,因?yàn)镾un公司被Oracle收購(gòu)。JavaScript早年被Sun公司注冊(cè),代表JavaScript這門(mén)語(yǔ)言。但是最早發(fā)明JavaScript是網(wǎng)景公司。在1995年時(shí),由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計(jì)實(shí)現(xiàn)而成。因?yàn)镹etscape與Sun合作,Netscape管理層希望它外觀看起來(lái)像Java,因此取名為JavaScript。但實(shí)際上它的語(yǔ)法風(fēng)格與Self及Scheme較為接近。
2.1 JavaScript基本特點(diǎn)
JavaScript是一種屬于網(wǎng)絡(luò)的腳本語(yǔ)言,已經(jīng)被廣泛用于Web應(yīng)用開(kāi)發(fā),常用來(lái)為網(wǎng)頁(yè)添加各式各樣的動(dòng)態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過(guò)嵌入在HTML中來(lái)實(shí)現(xiàn)自身的功能的。
(1)一種解釋性腳本語(yǔ)言(代碼不進(jìn)行預(yù)編譯)。
(2)主要用來(lái)向HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)頁(yè)面添加交互行為。
(3)可以直接嵌入HTML頁(yè)面,但寫(xiě)成單獨(dú)的JS文件有利于結(jié)構(gòu)和行為的分離。
(4)跨平臺(tái)特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺(tái)下運(yùn)行(如Windows、Linux、Mac、Android、iOS等)。
Javascript腳本語(yǔ)言同其它語(yǔ)言一樣,有它自身的基本數(shù)據(jù)類(lèi)型,表達(dá)式和算術(shù)運(yùn)算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類(lèi)型和兩種特殊數(shù)據(jù)類(lèi)型用來(lái)處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。
2.2 JavaScript組成部分
JavaScript由ECMAScript、DOM、BOM三部分組成,如下圖。
(1)ECMAScript:描述了該語(yǔ)言的語(yǔ)法和基本對(duì)象。
(2)DOM:文檔對(duì)象模型(DOM),描述處理網(wǎng)頁(yè)內(nèi)容的方法和接口。
(3)BOM:瀏覽器對(duì)象模型(BOM),描述與瀏覽器進(jìn)行交互的方法和接口。
2.2.1 DOM 文檔對(duì)象模型
文檔對(duì)象模型(Document Object Model,簡(jiǎn)稱DOM),是W3C組織推薦的處理可擴(kuò)展標(biāo)志語(yǔ)言的標(biāo)準(zhǔn)編程接口。在網(wǎng)頁(yè)上,組織頁(yè)面(或文檔)的對(duì)象被組織在一個(gè)樹(shù)形結(jié)構(gòu)中,用來(lái)表示文檔中對(duì)象的標(biāo)準(zhǔn)模型就稱為DOM。Document Object Model的歷史可以追溯至1990年代后期微軟與Netscape的“瀏覽器大戰(zhàn)”,雙方為了在JavaScript與JScript一決生死,于是大規(guī)模的賦予瀏覽器強(qiáng)大的功能。微軟在網(wǎng)頁(yè)技術(shù)上加入了不少專(zhuān)屬事物,既有VBScript、ActiveX、以及微軟自家的DHTML格式等,使不少網(wǎng)頁(yè)使用非微軟平臺(tái)及瀏覽器無(wú)法正常顯示。DOM即是當(dāng)時(shí)蘊(yùn)釀出來(lái)的杰作。
2.2.2 BOM 瀏覽器對(duì)象模型
BOM(Browser Object Model)即瀏覽器對(duì)象模型。BOM提供了獨(dú)立于內(nèi)容而與瀏覽器窗口進(jìn)行交互的對(duì)象;由于BOM主要用于管理窗口與窗口之間的通訊,因此其核心對(duì)象是window;BOM由一系列相關(guān)的對(duì)象構(gòu)成,并且每個(gè)對(duì)象都提供了很多方法與屬性;BOM缺乏標(biāo)準(zhǔn),JavaScript語(yǔ)法的標(biāo)準(zhǔn)化組織是ECMA,DOM的標(biāo)準(zhǔn)化組織是W3C,BOM最初是Netscape瀏覽器標(biāo)準(zhǔn)的一部分。
瀏覽器窗口交互的一些對(duì)象,例如可以移動(dòng)、調(diào)整瀏覽器大小的window對(duì)象,可以用于導(dǎo)航的location對(duì)象與history對(duì)象,可以獲取瀏覽器、操作系統(tǒng)與用戶屏幕信息的navigator與screen對(duì)象,可以使用document作為訪問(wèn)HTML文檔的入口,管理框架的frames對(duì)象等。
2.3 JavaScript處理引擎
JavaScript處理引擎是能解析并且運(yùn)行JavaScript代碼的解釋器。瀏覽器通常會(huì)有JavaScript引擎,JavaScript剛出來(lái)時(shí)就是運(yùn)行在瀏覽器中,作為客戶端語(yǔ)言使用。
常見(jiàn)的JavaScript引擎:
(1)Chrome V8
(2)Firefox SpiderMonkey
(3)Microsoft Edge Chakra
提一下Node.js是基于Chrome V8引擎。上文提到V8引擎是用來(lái)解析執(zhí)行JS,并且V8是基于ECMAScript標(biāo)準(zhǔn)實(shí)現(xiàn)的。換個(gè)角度說(shuō),Node.js里頭沒(méi)有DOM和BOM的操作,只保留的JavaScript的語(yǔ)法核心(ES),并且增加了事件驅(qū)動(dòng)的非阻塞 I/O 模型,使其輕量級(jí)和高效。Node.js作為服務(wù)運(yùn)行在Windows、Linux、Mac,把JavaScript的角色從前臺(tái)開(kāi)發(fā),轉(zhuǎn)移到了后臺(tái)開(kāi)發(fā)。
還有當(dāng)前有點(diǎn)過(guò)時(shí)的用于Flash編程的ActionScript也是ECMAScript的具體實(shí)現(xiàn)。
以上是“ECMAScript和JavaScript對(duì)比有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文名稱:ECMAScript和JavaScript對(duì)比有哪些區(qū)別
網(wǎng)頁(yè)URL:http://jinyejixie.com/article48/ipjehp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、關(guān)鍵詞優(yōu)化、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)