Object對象,是所有JavaScript對象的超類(基類)。Object.prototype(Obecjt的原型)定義了Js對象的基本方法和屬性。
參數:
①value {number | bool | string} :一個數字、布爾值或者字元串
傳回值:
{Number、Boolean、String} 傳回一個轉換後的對象
示例 :
說明:
1) 指派時,對象繼承新原型的所有方法和屬性,以及新原型的原型鍊中的所有方法和屬性。
2) 屬性名稱以兩個下劃線開始和結束。
3) 對象的__proto__ == 對象類的prototype
示例:
1) prototype為對象類的屬性。__proto__是對象的屬性。
2) Js内置對象(Array、Date等對象)都有一個隻讀的prototype屬性。 可将屬性和方法添加到原型中,但不能為内置對象配置設定其他原型。
3) 自定義對象的prototype屬性可進行讀寫操作。
1) 設定或傳回建立此對象的構造函數。
2) 若一個對象有多層繼承,将傳回最先調用的構造函數。
3) obj.constructor.prototype 可表示對象的原型。
1) 對象的__proto__ 等于 類的prototype
2) 對象的constructor 等于 類,是以obj.constructor.prototype 可表示對象的原型。
①propertyName {string} :屬性名稱。
{bool} 判斷對象是否擁有一個指定名稱的本地定義(非繼承)的屬性;此方法不會檢查對象原型鍊中的屬性。
true :屬性為對象的執行個體屬性,非繼承。
false :屬性不為對象的執行個體屬性。
文法:
prototype.isPrototypeOf(object)
①obejct {object} :被檢測的對象。
{bool} 傳回某個原型是否出現在對象的原型鍊中
true :是
false :不是
①propertyName {string} :屬性名稱
{bool} 判斷屬性是否為執行個體屬性并且是可枚舉的(可用for/in循環枚舉),不考慮原型鍊中的成員。
參數:無
{object} 傳回目前對象關聯的原始值,若沒有相關聯的值,則傳回對象本身
①prototype {prototype} :傳回對象的原型,可以為null。若為null,對象的原型為undefined。
屬性描述符:設定屬性的一系列特性;
文法格式:
{object} 傳回一個指定原型和指定屬性的對象
①object {object} :對象
若對象包含此屬性,則是修改此屬性的特性;否則為為對象添加此屬性。
②propertyName {string} :屬性的名稱
說明 :
若對象包含此屬性,則是修改此屬性的特性;否則為添加此屬性。
1) 此操作不可逆,當機後無法進行解封。
2) 隻影響執行個體屬性,不影響原型屬性。
②propertyName {propertyName} 屬性名稱
{Array} 一個數組,包含對象的所有執行個體屬性和方法,不包含原型繼承的屬性和方法
{object} 傳回原型對象
{Array} 傳回一個數組,包含對象的可枚舉屬性和方法的名稱
此方法與getOwnPropertyNames()類似,但getOwnPropertyNames()包含了可枚舉和不可枚舉的成員
{object} 傳回此對象
分為資料屬性和通路器屬性;
兩者可互相轉換,若轉換後未設定enumerable和configurable特性(兩類屬性描述符都包含這2個特性),将預設采用轉換前的值。
說明:包含屬性的操作特性;如:設定值、是否可枚舉等等
特性名稱
描述
預設值
value
設定屬性的值
undefined
writable
是否可修改屬性的值;true:可修改屬性的值;false:不可修改屬性的值
false
enumerable
是否可枚舉屬性;true:可枚舉,可通過for/in語句枚舉屬性;false:不可枚舉
false
configurable
是否可修改屬性的特性;true:可修改屬性的特性(如把writable從false改為true);false:不可修改屬性的特性
預設值:
1)在使用Object.defineProperty、Object.defineProperties 或 Object.create 函數的情況下添加資料屬性,writable、enumerable和configurable預設值為false。
2)使用對象直接量建立的屬性,writable、enumerable和configurable特性預設為true。
6.2 通路器屬性
說明:設定屬性的通路方式;set、get特性等
get
屬性的傳回值函數
set
屬性的設定值函數;含有一個指派參數
==================================系列文章==========================================
本篇文章:3.7 JavaScript Object對象
<a href="http://www.cnblogs.com/polk6/archive/2013/05/10/3071327.html" target="_blank">Web開發之路系列文章</a>