JavaScript快速入門-ECMAScript對象介紹

1、概念介紹

在 ECMAScript 中,全部對象並不是同等建立的。通常來講,能夠建立並使用的對象有三種:本地對象、內置對象和宿主對象。javascript

要理解這三種對象,先要理解宿主環境。java

一、宿主環境

通常宿主環境由外殼程序建立與維護,只要能提供js引擎執行的環境均可稱之爲外殼程序。node

如:web瀏覽器,一些桌面應用系統等。即由web瀏覽器或是這些桌面應用系統構成的環境即宿主環境。python

在python中相似於python解釋器。web

二、原生對象(本地對象)

獨立於宿主環境的ECMAScript提供的對象。與宿主環境無關,在javascript(網景瀏覽器)、nodejs(node平臺)、jscript(ie瀏覽器)、typescript(微軟平臺)等等中均有這些對象。typescript

簡單來講,本地對象就是 ECMA-262 定義的類(引用類型或原始類型)。在運行過程當中動態建立的對象,須要new。數組

在python中相似原生對象,如:數字、字符串、列表、元組、字典、類。瀏覽器

三、內置對象(build-in)

由 ECMAScript 實現提供的、獨立於宿主環境的全部對象,在 ECMAScript 程序開始執行時出現,即在引擎初始化階段就被建立好的對象。框架

這意味着開發者沒必要明確實例化內置對象,它已被實例化了。jvm

在python中的內建對象,好比sys、os、math等模塊。

四、宿主對象

即由 ECMAScript 實現的宿主環境提供的對象,包含兩大類,一個是宿主提供,一個是自定義類對象,ECMAScript官方未定義的對象都屬於宿主對象,全部非本地對象都是宿主對象。

宿主提供對象原理--->由宿主框架經過某種機制註冊到ECscript引擎中的對象,如宿主瀏覽器(以網景爲參考)會向ECscript注入window對象,構建其實現javascript。

宿主對象就是執行JS腳本環境提供的對象。對於嵌入到網頁中的JS來講,其宿主對象就是瀏覽器提供的對象,因此又稱爲瀏覽器對象,如IE、Firefox等瀏覽器提供的對象。不一樣的瀏覽器提供的宿主對象可能不一樣,即便提供的對象相同,其實現方式也截然不同!這會帶來瀏覽器兼容問題,增長開發難度。

瀏覽器對象有不少,如Window和Document等等。

有點相似python中的各類*ython,好比:Python,Cython,Jython,IRONpython。其實就是爲運行python腳本而提供的專有環境。

一、PYTHON,CYTHON

將這兩個放在一塊兒,是由於python的標準和原始實現就是基於cython的,因爲python的源代碼是須要將python源碼首先編譯爲c代碼,而後再編譯爲本機代碼的方式運行的,因爲c語言和本機代碼的關係,執行速度比較快。

二、JYTHON

首先將python編譯爲基於java字節碼的字節碼文件,而後在java虛擬機jvm上運行java字節碼。

三、IRONpython

將python編譯爲基於.NET的CLI的中間語言文件,而後在CLR上運行。

 

五、自定義對象

顧名思義,就是開發人員本身定義的對象。JS容許使用自定義對象,使JS應用及功能獲得擴充。

2、本地對象

簡單來講,本地對象就是 ECMA-262 定義的類(引用類型)。有如下這些:

  • Object(對象)
  • Function(函數)
  • Array(數組)
  • String
  • Boolean
  • Number
  • Date
  • RegExp
  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

經常使用對象:

String對象

Array對象

Date對象

Number對象

Function對象

RexExp對象

 

3、內置對象

Global對象

Math對象

 

4、宿主對象

DOM對象

BOM對象

相關文章
相關標籤/搜索