首頁 web前端 js教程 一起看看ECMAScript和JavaScript的差別

一起看看ECMAScript和JavaScript的差別

Jan 27, 2021 pm 05:50 PM
ecmascript js

一起看看ECMAScript和JavaScript的差別

免費學習推薦:#js影片教學

##js影片教學

1、ECMAScript的簡介

ECMAScript是一種由Ecma國際(前身為歐洲電腦製造商協會,英文名稱是European Computer Manufacturers Association)透過ECMA-262標準化的腳本程式設計語言。這種語言在萬維網上應用廣泛,它往往被稱為JavaScript或JScript,所以它可以理解為是JavaScript的一個標準,但實際上後兩者是ECMA-262標準的實現和擴展。

1.1 ECMA International

ECMA International是一家國際性會員制度的資訊和電信標準組織,它和企業密切相連的組織,所以Ecma國際制定的規範標準都是由各類企業來做主要的製定和推廣。 1997年該組織發布了MCMA-262的標準,該標準制定了ECMAScript語言規範。 ECMAScript就是從這裡來的。

1.2 ECMA-262標準(ES標準)

#ECMA-262是ECMA TC39小組制定的腳本語言的規範標準。 TC39成員由來自一些對腳本編程感興趣的公司的程式設計師組成的。

ECMA-262標準定義了ECMAScript語言規範。這個標準也叫成為ECMAScript語言規範(ECMAScript Language Specification),簡稱ES規範。

ES規格從1997發佈到現在為止是第八個版本。 ECMAScript是基於幾種原始技術,最著名的是JavaScript(Netscape Navigator 2.0)和JScript(Microsoft IE3)。

1.3 JavaScript標準化的歷程

1995年前後:網路爆發,Web應用層出不窮,那時候只要有註冊一個.com的域名,基本就能暴富,就如同現在的區塊鏈和人工智慧。就在那時JavaScript有三個主流版本:

(1)Netscape Navigator 3.0 中的 JavaScript。

(2)IE 中的 JScript。

(3)CEnvi 中的ScriptEase。

與和其它程式語言不同的是,JavaScript 並沒有一個標準來統一其語法或特性,而這 3 種不同的版本恰恰突出了這個問題。隨著業界擔心的增加,這個語言的標準化顯然已經勢在必行。

1997年:JavaScript 1.1 作為一個草案提交給歐洲電腦製造商協會(ECMA)。第 39 技術委員會(TC39)被委派來「標準化一個通用、跨平台、中立於廠商的腳本語言的語法和語意」。錘煉出了 ECMA-262第一版,定義了名為 ECMAScript 的全新腳本語言。

1998年:國際標準化組織及國際電工委員會(ISO/IEC)也採納 ECMAScript 作為標準(ISO/IEC-16262)。同年發布了ECMA-262第二個版(ES2)。第二個版本基本上沒有加新功能。

2002年:ECMA-262第三版(ES3),新增引入了強大的正規表示式,更好的字串處理,新的控制語句,try / catch異常處理,更嚴格的錯誤定義,數位輸出的格式化以及預期未來語言成長的微小變化。第三版在當時應用非常廣泛,幾乎所有的瀏覽器都支援ES3的標準。

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

2009年:ECMA-262第五版(ES5)發行。在ES3的基礎上增加了許多功能:包括存取器屬性,物件的反射建立和檢查,屬性的程式控制,附加的陣列操作函數,對JSON物件編碼格式的支援以及提供增強的錯誤檢查和程式安全性的嚴格模式。

2011年:獲準為國際標準ISO/IEC 16262:2011。同年發表ES5.1版本(對ES5做一些升級優化)同時被MCMA-262和ISO/IEC批准。

2015年:ECMA-262第六版(ES6或叫ES 2015語言規範),ES6可以說從2000年,ES3發布之後就開始沉澱,由於ES4的夭折, ES4中的一些功能特性一直等到ES6才發布,所以第六版的完全是十五年的努力的結果。

ES6

為大型應用程式提供更好的支持,創建Lib庫,以及使用ECMAScript作為其它語言的編譯目標。 ES6主要新增瞭如下功能:主要增強包括模組,類別聲明,詞法塊範圍,迭代器和生成器,非同步程式設計的承諾,解構模式和適當的尾部呼叫。內建的ECMAScript庫被擴展為支援額外的資料抽象,包括映射,集合和二進制數值數組,以及對字串和正規表示式的使用。 #########2、JavaScript的簡介#########JavaScript一種直譯式腳本語言,是一種動態類型、弱型別、基於原型的語言,內建支援類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來為HTML網頁增加動態功能。 ###

JavaScript是通用的跨平台腳本語言,遵守ECMA-262標準(ES標準),換句話說就是ECMAScript的方言。為了取得技術優勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運作。為了統一規格,因為JavaScript相容於ECMA標準,因此也稱為ECMAScript。

JavasSript商標屬於Oracle公司,因為Sun公司被Oracle收購。 JavaScript早年被Sun公司註冊,代表JavaScript這門語言。但是最早發明JavaScript是網景公司。在1995年時,由Netscape公司的Brendan Eich,在網景導航者瀏覽器上首次設計實現而成。因為Netscape與Sun合作,Netscape管理階層希望它看起來像Java,所以取名為JavaScript。但實際上它的語法風格與Self及Scheme較為接近。

2.1 JavaScript基本特性

JavaScript是一種屬於網路的腳本語言,已經被廣泛用於Web應用開發,常用來為網頁添加各式各樣的動態功能,提供使用者更流暢美觀的瀏覽效果。通常的JavaScript腳本是透過嵌入在HTML中來實現自身的功能。

(1)一種解釋性腳本語言(程式碼不進行預先編譯)。

(2)主要用來在HTML(標準通用標記語言下的一個應用程式)頁面中加入互動行為。

(3)可以直接嵌入HTML頁面,但寫成單獨的JS檔案有利於結構和行為的分離。

(4)跨平台特性,在絕大多數瀏覽器的支援下,可以在多種平台下運作(如Windows、Linux、Mac、Android、iOS等)。

Javascript腳本語言與它語言一樣,有它自己的基本資料類型,表達式和算術運算子及程式的基本程式框架。 Javascript提供了四種基本的資料型別和兩種特殊資料型別用來處理資料和文字。而變數提供存放資訊的地方,表達式則可以完成較複雜的資訊處理。

2.2 JavaScript組成部分

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

一起看看ECMAScript和JavaScript的差別

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

(2)DOM:文件物件模型(DOM),描述處理網頁內容的方法和介面。

(3)BOM:瀏覽器物件模型(BOM),描述與瀏覽器互動的方法和介面。

2.2.1 DOM 文件物件模型

文件物件模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展標誌語言的標準編程接口。在網頁上,組織頁面(或文件)的物件被組織在一個樹狀結構中,用來表示文件中物件的標準模型稱為DOM。 Document Object Model的歷史可以追溯至1990年代後期微軟與Netscape的“瀏覽器大戰”,雙方為了在JavaScript與JScript一決生死,於是大規模的賦予瀏覽器強大的功能。微軟在網頁技術上加入了不少專屬事物,既有VBScript、ActiveX、以及微軟自家的DHTML格式等,使不少網頁使用非微軟平台及瀏覽器無法正常顯示。 DOM即是當時蘊釀出來的傑作。

2.2.2 BOM 瀏覽器物件模型

BOM(Browser Object Model)即瀏覽器物件模型。 BOM提供了獨立於內容而與瀏覽器視窗互動的物件;由於BOM主要用於管理視窗與視窗之間的通訊,因此其核心物件是window;BOM由一系列相關的物件構成,而每個物件都提供了許多方法與屬性;BOM缺乏標準,JavaScript語法的標準化組織是ECMA,DOM的標準化組織是W3C,BOM最初是Netscape瀏覽器標準的一部分。

瀏覽器視窗互動的一些對象,例如可以移動、調整瀏覽器大小的window對象,可以用於導航的location對象與history對象,可以取得瀏覽器、作業系統與使用者螢幕資訊的navigator與screen對象,可以使用document作為存取HTML文件的入口,管理框架的frames對像等。

2.3 JavaScript處理引擎

JavaScript處理引擎是能解析並且執行JavaScript程式碼的解釋器。瀏覽器通常會有JavaScript引擎,JavaScript剛出來時就是在瀏覽器中,作為客戶端語言使用。

常見的JavaScript引擎:

(1)Chrome V8

(2)Firefox SpiderMonkey

(3)Microsoft Edge Chakra

提一下Node.js是基於Chrome V8引擎。上文提到V8引擎是用來解析執行JS,且V8是基於ECMAScript標準實現的。換個角度說,Node.js裡頭沒有DOM和BOM的操作,只保留的JavaScript的語法核心(ES),並且增加了事件驅動的非阻塞 I/O 模型,使其輕量級和高效。 Node.js作為服務運行在Windows、Linux、Mac,把JavaScript的角色從前台開發,轉移到了後台開發。

還有目前有點過時的Flash程式設計的ActionScript也是ECMAScript的具體實作。

相關免費學習推薦:javascript學習教學

以上是一起看看ECMAScript和JavaScript的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

建議:優秀JS開源人臉偵測辨識項目 建議:優秀JS開源人臉偵測辨識項目 Apr 03, 2024 am 11:55 AM

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

如何使用JS和百度地圖實現地圖平移功能 如何使用JS和百度地圖實現地圖平移功能 Nov 21, 2023 am 10:00 AM

如何使用JS和百度地圖實現地圖平移功能百度地圖是一款廣泛使用的地圖服務平台,在Web開發中經常用於展示地理資訊、定位等功能。本文將介紹如何使用JS和百度地圖API實作地圖平移功能,並提供具體的程式碼範例。一、準備工作使用百度地圖API前,首先需要在百度地圖開放平台(http://lbsyun.baidu.com/)上申請一個開發者帳號,並建立一個應用程式。創建完成

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 Dec 17, 2023 pm 06:55 PM

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟,需要具體程式碼範例隨著網路和科技的快速發展,股票交易已成為許多投資者的重要途徑之一。而股票分析是投資人決策的重要一環,其中蠟燭圖被廣泛應用於技術分析。學習如何使用PHP和JS繪製蠟燭圖將為投資者提供更多直觀的信息,幫助他們更好地做出決策。蠟燭圖是一種以蠟燭形狀來展示股票價格的技術圖表。它展示了股票價格的

如何使用PHP和JS創建股票蠟燭圖 如何使用PHP和JS創建股票蠟燭圖 Dec 17, 2023 am 08:08 AM

如何使用PHP和JS創建股票蠟燭圖股票蠟燭圖是股票市場中常見的技術分析圖形,透過繪製股票的開盤價、收盤價、最高價和最低價等數據,幫助投資者更直觀地了解股票的價格波動情形。本文將教你如何使用PHP和JS創建股票蠟燭圖,並附上具體的程式碼範例。一、準備工作在開始之前,我們需要準備以下環境:1.一台運行PHP的伺服器2.一個支援HTML5和Canvas的瀏覽器3

如何使用JS和百度地圖實現地圖點擊事件處理功能 如何使用JS和百度地圖實現地圖點擊事件處理功能 Nov 21, 2023 am 11:11 AM

如何使用JS和百度地圖實現地圖點擊事件處理功能概述:在網路開發中,經常需要使用地圖功能來展示地理位置和地理資訊。而地圖上的點擊事件處理是地圖功能中常用且重要的一環。本文將介紹如何使用JS和百度地圖API來實現地圖的點擊事件處理功能,並給出具體的程式碼範例。步驟:匯入百度地圖的API檔案首先,要在HTML檔案中匯入百度地圖API的文件,可以透過以下程式碼實現:

如何使用JS和百度地圖實現地圖熱力圖功能 如何使用JS和百度地圖實現地圖熱力圖功能 Nov 21, 2023 am 09:33 AM

如何使用JS和百度地圖實現地圖熱力圖功能簡介:隨著互聯網和行動裝置的快速發展,地圖成為了普遍的應用場景。而熱力圖作為一種視覺化的展示方式,能夠幫助我們更直觀地了解數據的分佈。本文將介紹如何使用JS和百度地圖API來實現地圖熱力圖的功能,並提供具體的程式碼範例。準備工作:在開始之前,你需要準備以下事項:一個百度開發者帳號,並建立一個應用,取得到對應的AP

PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 Dec 18, 2023 pm 03:39 PM

隨著網路金融的快速發展,股票投資已經成為了越來越多人的選擇。而在股票交易中,蠟燭圖是常用的技術分析方法,它能夠顯示股票價格的變動趨勢,幫助投資人做出更精準的決策。本文將透過介紹PHP和JS的開發技巧,帶領讀者了解如何繪製股票蠟燭圖,並提供具體的程式碼範例。一、了解股票蠟燭圖在介紹如何繪製股票蠟燭圖之前,我們首先需要先了解什麼是蠟燭圖。蠟燭圖是由日本人

js和vue的關係 js和vue的關係 Mar 11, 2024 pm 05:21 PM

js和vue的關係:1、JS作為Web開發基石;2、Vue.js作為前端框架的崛起;3、JS與Vue的互補關係;4、JS與Vue的實踐應用。

See all articles