ecmascript是直譯器。ecmascript是一種由Ecma國際通過ECMA-262標準化的指令碼程式設計語言,是直譯器,負責翻譯,是js語言核心部分,描述了js語言的語法和基本物件。
本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
一個完整的 JavaScript 實現由以下 3 個不同部分組成:
核心(ECMAScript):語言核心部分,描述了該語言的語法和基本物件。
檔案物件模型(Document Object Model,DOM):網頁檔案操作標準,描述處理網頁內容的方法和介面。
瀏覽器物件模型(BOM):使用者端和瀏覽器視窗操作基礎,描述與瀏覽器進行互動的方法和介面。
ECMAScript(es):負責翻譯,為js的核心,直譯器。
由ECMA-262定義的ECMAScript是一種在國際認可的標準的指令碼語言規範,與Web瀏覽器沒有依賴關係。ECMA-262標準主要規定了這門語言由以下組成部分:
語法
變數和資料型別
關鍵字和保留字
操作符
控制語句
物件
2009年ECMAScript 5.0版正式釋出。在很長一段時間,使用javaScript都是按照5.0的標準。2015年ECMAScript 6釋出正式版本,官方稱為ECMAScript 2015。ECMAScript定義了指令碼語言的所有屬性、方法和物件。因此抵用web使用者端指令碼編碼時一定要遵循ECMAScript標準。
5種基本資料型別:Undefined、Null、Boolean、Number、String,Symbol(es6新增)
1種複雜型別:object
5種參照型別:Array,Object,Function,Date,RegExp
3種基本包裝型別:Boolean,Number,String
2種單體內建物件:Global,Math
1、四種方式判斷資料型別
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 作為尚未建立的物件
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()
這種方式可以將全部的資料型別檢測出來 推薦使用。因為toString是Object的原型方法, 而 Array Function 等都是Object的範例。都重寫了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
判斷物件的建構函式。
1. null 是js 原型鏈的起點,沒有建構函式
2. undefined 沒有建構函式
3. [].constructor === Array ---> true
【相關推薦:】
以上就是ecmascript是直譯器嗎的詳細內容,更多請關注TW511.COM其它相關文章!