您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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)。
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è)資訊頻道!
免責(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)容。