溫馨提示×

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

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

ecmascript是不是解釋器

發(fā)布時(shí)間:2022-01-05 11:05:42 來(lái)源:億速云 閱讀:95 作者:小新 欄目:web開(kāi)發(fā)

這篇文章主要為大家展示了“ecmascript是不是解釋器”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ecmascript是不是解釋器”這篇文章吧。

ecmascript是解釋器。ecmascript是一種由Ecma國(guó)際通過(guò)ECMA-262標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語(yǔ)言,是解釋器,負(fù)責(zé)翻譯,是js語(yǔ)言核心部分,描述了js語(yǔ)言的語(yǔ)法和基本對(duì)象。

本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。

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

  • 核心(ECMAScript):語(yǔ)言核心部分,描述了該語(yǔ)言的語(yǔ)法和基本對(duì)象。

  • 文檔對(duì)象模型(Document Object Model,DOM):網(wǎng)頁(yè)文檔操作標(biāo)準(zhǔn),描述處理網(wǎng)頁(yè)內(nèi)容的方法和接口。

  • 瀏覽器對(duì)象模型(BOM):客戶端和瀏覽器窗口操作基礎(chǔ),描述與瀏覽器進(jìn)行交互的方法和接口。

ECMAScript(es):負(fù)責(zé)翻譯,為js的核心,解釋器。

由ECMA-262定義的ECMAScript是一種在國(guó)際認(rèn)可的標(biāo)準(zhǔn)的腳本語(yǔ)言規(guī)范,與Web瀏覽器沒(méi)有依賴關(guān)系。ECMA-262標(biāo)準(zhǔn)主要規(guī)定了這門語(yǔ)言由以下組成部分:

  • 語(yǔ)法

  • 變量和數(shù)據(jù)類型

  • 關(guān)鍵字和保留字

  • 操作符

  • 控制語(yǔ)句

  • 對(duì)象

2009年ECMAScript 5.0版正式發(fā)布。在很長(zhǎng)一段時(shí)間,使用javaScript都是按照5.0的標(biāo)準(zhǔn)。2015年ECMAScript 6發(fā)布正式版本,官方稱為ECMAScript 2015。ECMAScript定義了腳本語(yǔ)言的所有屬性、方法和對(duì)象。因此抵用web客戶端腳本編碼時(shí)一定要遵循ECMAScript標(biāo)準(zhǔn)。

JS數(shù)據(jù)類型

5種基本數(shù)據(jù)類型:Undefined、Null、Boolean、Number、String,Symbol(es6新增)

1種復(fù)雜類型:object

5種引用類型:Array,Object,F(xiàn)unction,Date,RegExp

3種基本包裝類型:Boolean,Number,String

2種單體內(nèi)置對(duì)象:Global,Math

1、四種方式判斷數(shù)據(jù)類型

typeof

const a = ""
console.log(typeof(a)) => String
 
const b = 1
console.log(typeof(b)) => Number
 
const c
console.log(typeof(c)) =>Undefined
 
const d = []
console.log(typeof(d)) => Object
 
const e = {}
console.log(typeof(e)) =>Object
 
const f = null
console.log(typeof(f)) =>Object  //null 作為尚未創(chuàng)建的對(duì)象

instanceof

這種方式只適合判斷object類型

const arr = [] 
console.log(arr instanceof Array)=> true
 
console.log(null instanceof Object) ---> false
 
console.log([function] instanceof Object | Function)  --> true

Object.prototype.toString.call()  

這種方式可以將全部的數(shù)據(jù)類型檢測(cè)出來(lái)  推薦使用。因?yàn)閠oString是Object的原型方法, 而 Array Function 等都是Object的實(shí)例。都重寫了toString 方法。返回的是類型的字符串

Object.prototype.toString.call(null)  =>  [object Null]
 
Object.prototype.toString.call(Math) => [object Math]
 
Object.prototype.toString.call(function(){}) => [object Function]
 
Objdec.prototype.toString.call(new Date)  => [object Date]
 
Object.prototype.toString.call(Symbol())  => [object Symbol]
 
Object.prototupe.toString.call(undefined)  => [object Undefined]
 
Object.prototype.toString.call(123)  => [object Number]
 
Object.prototype.toString.call(true) => [object Boolean]
 
Object.prototype.toString.call('123') => [object String]
 
Object.prototype.toString.call({})    => [object Object]
 
Object.prototype.toString.call([])    => [object Array]

constructor  

判斷對(duì)象的構(gòu)造函數(shù)。

1.  null 是js 原型鏈的起點(diǎn),沒(méi)有構(gòu)造函數(shù)

2. undefined 沒(méi)有構(gòu)造函數(shù)

3. [].constructor  === Array  ---> true

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

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

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

AI