【JS基礎(chǔ)】(十三)JavaScript三大對象兩類屬性

ECMAScript 中,所有對象并非同等創(chuàng)建的。
一般來說,可以創(chuàng)建并使用的對象有三種:本地對象、內(nèi)置對象和宿主對象,對象還包含兩類屬性:自有屬性、繼承屬性

JavaScript對象

一、JavaScript三大對象

1.本地對象

  • 與宿主無關(guān),獨立于宿主環(huán)境的ECMAScript實現(xiàn)提供的對象
  • 簡單來說,本地對象就是 ECMA-262 定義的類(引用類型)。
  • 這些引用類型在運行過程中需要通過 new 來創(chuàng)建所需的實例對象。

本地對象包括:

  • 常見引用類型Object、Function、Array、Date、RegExp
  • 基本包裝類型String、Boolean、Number
  • 其他類型ErrorEvalError、RangeErrorReferenceError、SyntaxError、TypeError、URIError

有關(guān)引用類型更詳細的用法可參考《【JS基礎(chǔ)】JavaScript引用類型》

有關(guān)基本包裝類型更詳細的用法可參考《【JS基礎(chǔ)】JavaScript引用類型之基本包裝類型》

2.內(nèi)置對象

  • 與宿主無關(guān),獨立于宿主環(huán)境的ECMAScript實現(xiàn)提供的對象,在ECMAScript 程序開始執(zhí)行時出現(xiàn)。
  • ECMAScript 程序開始執(zhí)行前就存在,本身就是實例化內(nèi)置對象,開發(fā)者無需再去實例化。
  • 內(nèi)置對象是本地對象的子集。
  • 包含:GlobalMath
  • ECMAScript5中增添了JSON這個存在于全局的內(nèi)置對象。

有關(guān)內(nèi)置對象屬性與方法的用法可參考《【JS基礎(chǔ)】JavaScript內(nèi)置對象》

3.宿主對象

  • ECMAScript 實現(xiàn)的宿主環(huán)境提供的對象,包含兩大類,一個是宿主提供,一個是自定義類對象。
  • 所有非本地對象都屬于宿主對象。
  • 對于嵌入到網(wǎng)頁中的JS來說,其宿主對象就是瀏覽器提供的對象,瀏覽器對象有很多,如WindowDocument等。
  • 所有的DOMBOM對象都屬于宿主對象。

(1)宿主提供的對象

JavaScript運行環(huán)境(即瀏覽器)提供的對象,由瀏覽器廠家自定義提供實現(xiàn),早期存在較大的兼容性問題,當前其中一些主要的對象已經(jīng)被大部分瀏覽器兼容;具體分為如下兩大類:

  • BOM對象WindowNavigator、Screen、History、Location
  • DOM對象DocumentAnchor、Area、Base、Body、Button、Canvas、EventFrame、Frameset、IFrame、ImageLink、Meta、Style、FormInput Button、Input CheckBox、Input File、Input Hidden、Input Password、Input Radio、Input Reset、Input SubmitInputText、OptionSelect、TextareTable、TableCellTableRow

(2)自定義對象

指由運行中的`JavaScript``代碼創(chuàng)建的對象,兼容性問題需要由編寫者注意。
創(chuàng)建自定義對象:

a、對象直接量;由名/值對組成的映射表,名和值之間用冒號分隔,名/值對之間用逗號分隔

var obj1 = {};
var obj2 = {x:0,y:0};
var obj3 = {name:"Mary", age:18};

b、使用 new 操作符后跟構(gòu)造函數(shù);創(chuàng)建系統(tǒng)對象,創(chuàng)建通用對象,創(chuàng)建自定義對象(自定義構(gòu)造函數(shù))

var obj1 = new Array;
var obj2 = new Date();

c、function 對象模板

二、JavaScript對象的兩類屬性

對象中的屬性,根據(jù)是否自身的可分為自有屬性繼承屬性。

1.自有屬性:也可叫實例屬性;指對象自身的屬性,也就是直接在對象中定義的屬性。

2.繼承屬性:也可叫原型屬性;指對象從原型中繼承的屬性,也就是在對象的原型對象中定義的屬性。

三、有關(guān)JavaScript對象的系列文章

  1. 【ES6】操作數(shù)組的常用方法有這些就夠了
  2. 【JS基礎(chǔ)】JavaScript引用類型之Date對象的常用方法
  3. 【JS基礎(chǔ)】JavaScript引用類型之RegExp 類型
  4. 【JS基礎(chǔ)】JavaScript引用類型之Function類型
  5. 【JS基礎(chǔ)】JavaScript引用類型之基本包裝類型
  6. 【JS基礎(chǔ)】JavaScript內(nèi)置對象
  7. 【JS基礎(chǔ)】JavaScript引用類型
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容