ECMAScript和JavaScript對比有哪些區(qū)別

小編給大家分享一下ECMAScript和JavaScript對比有哪些區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

武侯網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

1、ECMAScript的簡介

ECMAScript是一種由Ecma國際(前身為歐洲計(jì)算機(jī)制造商協(xié)會,英文名稱是European Computer Manufacturers Association)通過ECMA-262標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語言。這種語言在萬維網(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是一家國際性會員制度的信息和電信標(biāo)準(zhǔn)組織,它和企業(yè)密切相連的組織,所以 Ecma國際制定的規(guī)范標(biāo)準(zhǔn)都是由各類企業(yè)來做主要的制定和推廣。1997年該組織發(fā)布了MCMA-262的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)制定了ECMAScript語言規(guī)范。ECMAScript就是從這里來的。

1.2 ECMA-262標(biāo)準(zhǔn)(ES標(biāo)準(zhǔn))

ECMA-262是ECMA TC39小組制定的關(guān)于腳本語言的規(guī)范標(biāo)準(zhǔn)。TC39成員由來自一些對腳本編程感興趣的公司的程序員組成的。

ECMA-262標(biāo)準(zhǔn)定義了ECMAScript語言規(guī)范。這個(gè)標(biāo)準(zhǔn)也叫成為ECMAScript語言規(guī)范(ECMAScript Language Specification),簡稱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í)候只要有注冊一個(gè).com的域名,基本就能暴富,就如同現(xiàn)在的區(qū)塊鏈和人工智能。就在那時(shí)候JavaScript有三個(gè)主流版本:

(1)Netscape Navigator 3.0 中的 JavaScript。

(2)IE 中的 JScript。

(3)CEnvi 中的ScriptEase。

與和其它編程語言不同的是,JavaScript 并沒有一個(gè)標(biāo)準(zhǔn)來統(tǒng)一其語法或特性,而這 3 種不同的版本恰恰突出了這個(gè)問題。隨著業(yè)界擔(dān)心的增加,這個(gè)語言的標(biāo)準(zhǔn)化顯然已經(jīng)勢在必行。

1997年:JavaScript 1.1 作為一個(gè)草案提交給歐洲計(jì)算機(jī)制造商協(xié)會(ECMA)。第 39 技術(shù)委員會(TC39)被委派來“標(biāo)準(zhǔn)化一個(gè)通用、跨平臺、中立于廠商的腳本語言的語法和語義”。 錘煉出了 ECMA-262第一版,該標(biāo)準(zhǔn)定義了名為 ECMAScript 的全新腳本語言。

1998年:國際標(biāo)準(zhǔn)化組織及國際電工委員會(ISO/IEC)也采納 ECMAScript 作為標(biāo)準(zhǔn)(ISO/IEC-16262)。同年發(fā)布了ECMA-262第二個(gè)版(ES2).第二個(gè)版本基本沒有加新功能。

2002年:ECMA-262第三版(ES3),新增引入了強(qiáng)大的正則表達(dá)式,更好的字符串處理,新的控制語句,try / catch異常處理,更嚴(yán)格的錯(cuò)誤定義,數(shù)字輸出的格式化以及預(yù)期未來語言增長的微小變化。第三版在當(dāng)時(shí)應(yīng)用非常廣泛,幾乎所有的瀏覽器都支持ES3的標(biāo)準(zhǔn)。

ECMA-262第4版本(ES4)夭折,部分功能被遷移到ES6中。

2009年:ECMA-262第五版(ES5)發(fā)布。在ES3的基礎(chǔ)上增加了很多功能:包括訪問器屬性,對象的反射創(chuàng)建和檢查,屬性的程序控制,附加的數(shù)組操作函數(shù),對JSON對象編碼格式的支持以及提供增強(qiáng)的錯(cuò)誤檢查和程序安全性的嚴(yán)格模式。

2011年:被批準(zhǔn)為國際標(biāo)準(zhǔn)ISO/IEC 16262:2011。同年發(fā)布ES5.1版本(對ES5做一些升級優(yōu)化)同時(shí)被MCMA-262和ISO/IEC批準(zhǔn)。

2015年:ECMA-262第六版(ES6或者叫ES 2015語言規(guī)范),ES6可以說從2000年,ES3發(fā)布之后就開始沉淀,由于ES4的夭折,ES4中的一些功能特性一直等到ES6才發(fā)布,所以第六版的完全是十五年的努力的結(jié)果。

ES6為大型應(yīng)用程序提供更好的支持,創(chuàng)建Lib庫,以及使用ECMAScript作為其它語言的編譯目標(biāo)。ES6主要新增了如下功能:主要增強(qiáng)包括模塊,類聲明,詞法塊范圍,迭代器和生成器,異步編程的承諾,解構(gòu)模式和適當(dāng)?shù)奈膊空{(diào)用。內(nèi)置的ECMAScript庫被擴(kuò)展為支持額外的數(shù)據(jù)抽象,包括映射,集合和二進(jìn)制數(shù)值數(shù)組,以及對字符串和正則表達(dá)式的使用。

2、JavaScript的簡介

JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。

JavaScript是通用的跨平臺腳本語言,遵守ECMA-262標(biāo)準(zhǔn)(ES標(biāo)準(zhǔn)),換句話說就是ECMAScript的方言。為了取得技術(shù)優(yōu)勢,微軟推出了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收購。JavaScript早年被Sun公司注冊,代表JavaScript這門語言。但是最早發(fā)明JavaScript是網(wǎng)景公司。在1995年時(shí),由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計(jì)實(shí)現(xiàn)而成。因?yàn)镹etscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。但實(shí)際上它的語法風(fēng)格與Self及Scheme較為接近。

2.1 JavaScript基本特點(diǎn)

JavaScript是一種屬于網(wǎng)絡(luò)的腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實(shí)現(xiàn)自身的功能的。

(1)一種解釋性腳本語言(代碼不進(jìn)行預(yù)編譯)。

(2)主要用來向HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面添加交互行為。

(3)可以直接嵌入HTML頁面,但寫成單獨(dú)的JS文件有利于結(jié)構(gòu)和行為的分離。

(4)跨平臺特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺下運(yùn)行(如Windows、Linux、Mac、Android、iOS等)。

Javascript腳本語言同其它語言一樣,有它自身的基本數(shù)據(jù)類型,表達(dá)式和算術(shù)運(yùn)算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。

2.2 JavaScript組成部分

JavaScript由ECMAScript、DOM、BOM三部分組成,如下圖。

ECMAScript和JavaScript對比有哪些區(qū)別

(1)ECMAScript:描述了該語言的語法和基本對象。

(2)DOM:文檔對象模型(DOM),描述處理網(wǎng)頁內(nèi)容的方法和接口。

(3)BOM:瀏覽器對象模型(BOM),描述與瀏覽器進(jìn)行交互的方法和接口。

2.2.1 DOM 文檔對象模型

文檔對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴(kuò)展標(biāo)志語言的標(biāo)準(zhǔn)編程接口。在網(wǎng)頁上,組織頁面(或文檔)的對象被組織在一個(gè)樹形結(jié)構(gòu)中,用來表示文檔中對象的標(biāo)準(zhǔn)模型就稱為DOM。Document Object Model的歷史可以追溯至1990年代后期微軟與Netscape的“瀏覽器大戰(zhàn)”,雙方為了在JavaScript與JScript一決生死,于是大規(guī)模的賦予瀏覽器強(qiáng)大的功能。微軟在網(wǎng)頁技術(shù)上加入了不少專屬事物,既有VBScript、ActiveX、以及微軟自家的DHTML格式等,使不少網(wǎng)頁使用非微軟平臺及瀏覽器無法正常顯示。DOM即是當(dāng)時(shí)蘊(yùn)釀出來的杰作。

2.2.2 BOM 瀏覽器對象模型

BOM(Browser Object Model)即瀏覽器對象模型。BOM提供了獨(dú)立于內(nèi)容而與瀏覽器窗口進(jìn)行交互的對象;由于BOM主要用于管理窗口與窗口之間的通訊,因此其核心對象是window;BOM由一系列相關(guān)的對象構(gòu)成,并且每個(gè)對象都提供了很多方法與屬性;BOM缺乏標(biāo)準(zhǔn),JavaScript語法的標(biāo)準(zhǔn)化組織是ECMA,DOM的標(biāo)準(zhǔn)化組織是W3C,BOM最初是Netscape瀏覽器標(biāo)準(zhǔn)的一部分。

瀏覽器窗口交互的一些對象,例如可以移動、調(diào)整瀏覽器大小的window對象,可以用于導(dǎo)航的location對象與history對象,可以獲取瀏覽器、操作系統(tǒng)與用戶屏幕信息的navigator與screen對象,可以使用document作為訪問HTML文檔的入口,管理框架的frames對象等。

2.3 JavaScript處理引擎

JavaScript處理引擎是能解析并且運(yùn)行JavaScript代碼的解釋器。瀏覽器通常會有JavaScript引擎,JavaScript剛出來時(shí)就是運(yùn)行在瀏覽器中,作為客戶端語言使用。

常見的JavaScript引擎:

(1)Chrome V8

(2)Firefox SpiderMonkey

(3)Microsoft Edge Chakra

提一下Node.js是基于Chrome V8引擎。上文提到V8引擎是用來解析執(zhí)行JS,并且V8是基于ECMAScript標(biāo)準(zhǔn)實(shí)現(xiàn)的。換個(gè)角度說,Node.js里頭沒有DOM和BOM的操作,只保留的JavaScript的語法核心(ES),并且增加了事件驅(qū)動的非阻塞 I/O 模型,使其輕量級和高效。Node.js作為服務(wù)運(yùn)行在Windows、Linux、Mac,把JavaScript的角色從前臺開發(fā),轉(zhuǎn)移到了后臺開發(fā)。

還有當(dāng)前有點(diǎn)過時(shí)的用于Flash編程的ActionScript也是ECMAScript的具體實(shí)現(xiàn)。

以上是“ECMAScript和JavaScript對比有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文名稱:ECMAScript和JavaScript對比有哪些區(qū)別
網(wǎng)頁URL:http://muchs.cn/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)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)