js中Object常用方法和屬性

2021-07-16 23:26:35 字數 2581 閱讀 3301

繼之前js中陣列的常用方法之後,object的常用方法和屬性也是很常用的。故,總結之。

一、屬性

object自帶乙個prototype的屬性,即object.prototype,object.prototype本身也是乙個物件,也會有一些屬性和方法。如下:

1、屬性

object.prototype.writable:預設為false

object.prototype.enumerable:預設為false

object.prototype.configurable:預設為false

object.prototype.constructor:用於建立乙個物件的原型。

2、常用方法

object.prototype.hasownproperty():返回乙個布林值,表示某個物件是否含有指定的屬性,而且此屬性非原型鏈繼承。

object.prototype.isprototypeof():返回乙個布林值,表示指定的物件是否在本物件的原型鏈中。

object.prototype.propertyisenumerable():判斷指定屬性是否可列舉。

object.prototype.tostring():返回物件的字串表示。

object.prototype.watch():給物件的某個屬性增加監聽。

object.prototype.unwatch():移除物件某個屬性的監聽。

object.prototype.valueof():返回指定物件的原始值。

二、方法

object.assign(target, …sources):把任意多個的源物件自身的可列舉屬性拷貝給目標物件,然後返回目標物件。

object.create(proto,[propertiesobject]):建立乙個擁有指定原型和若干個指定屬性的物件。

object.defineproperties(obj, props):在乙個物件上新增或修改乙個或者多個自有屬性,並返回該物件。

object.defineproperty(obj, prop, descriptor):直接在乙個物件上定義乙個新屬性,或者修改乙個已經存在的屬性, 並返回這個物件。obj:需要定義屬性的物件。prop:需定義或修改的屬性的名字。descriptor:將被定義或修改的屬性的描述符。

object.entries(obj):返回乙個包含由給定物件所有可列舉屬性的屬性名和屬性值組成的 [屬性名,屬性值] 鍵值對的陣列,陣列中鍵值對的排列順序和使用for…in迴圈遍歷該物件時返回的順序一致。

舉例:

var obj = ;

console.log(object.entries(obj)); // [ [『foo』, 『bar』], [『baz』, 42] ]

object.freeze(obj):凍結乙個物件,凍結指的是不能向這個物件新增新的屬性,不能修改其已有屬性的值,不能刪除已有屬性,以及不能修改該物件已有屬性的可列舉性、可配置性、可寫性。也就是說,這個物件永遠是不可變的。該方法返回被凍結的物件。

object.getownpropertynames(obj):返回乙個由指定物件的所有自身屬性的屬性名(包括不可列舉屬性)組成的陣列。

舉例:

// 類陣列物件

var obj = ;

console.log(object.getownpropertynames(obj).sort()); // [「0」, 「1」, 「2」]

object.getprototypeof(object):返回該物件的原型。

object.is(value1, value2):判斷兩個值是否是同乙個值。

object.i***tensible(obj):判斷乙個物件是否是可擴充套件的(是否可以在它上面新增新的屬性)。

object.isfrozen(obj):判斷乙個物件是否被凍結(frozen)。

object.issealed(obj):判斷乙個物件是否是密封的(sealed)。密封物件是指那些不可 擴充套件 的,且所有自身屬性都不可配置的(non-configurable)且屬性不可刪除的物件(其可以是可寫的)。

object.keys(obj):返回乙個由給定物件的所有可列舉自身屬性的屬性名組成的陣列,陣列中屬性名的排列順序和使用for-in迴圈遍歷該物件時返回的順序一致

舉例:

var arr = [「a」, 「b」, 「c」];

alert(object.keys(arr)); // 彈出」0,1,2」

// 類陣列物件

var obj = ;

alert(object.keys(obj)); // 彈出」0,1,2」

object.preventextensions(obj):讓乙個物件變的不可擴充套件,也就是永遠不能再新增新的屬性。

object.setprototypeof(obj, prototype):將乙個指定的物件的原型設定為另乙個物件或者null

object.values(obj):返回乙個包含指定物件所有的可列舉屬性值的陣列,陣列中的值順序和使用for…in迴圈遍歷的順序一樣。

舉例:

var obj = ;

console.log(object.values(obj)); // [『bar』, 42]

js中Object常用方法和屬性

一 屬性 object自帶乙個prototype的屬性,即object.prototype,object.prototype本身也是乙個物件,也會有一些屬性和方法。如下 1 屬性 object.prototype.writable 預設為false object.prototype.enumerab...

js中Object常用方法和屬性

繼之前js中陣列的常用方法之後,object的常用方法和屬性也是很常用的。故,總結之。一 屬性 object自帶乙個prototype的屬性,即object.prototype,object.prototype本身也是乙個物件,也會有一些屬性和方法。如下 1 屬性 object.prototype....

js中 object 屬性 和 例項屬性方法

object 物件具有以下屬性 不包括繼承的屬性和方法 屬性 prototype 對該物件的物件原型的引用。對於所有的物件,它預設返回 object 物件的乙個例項。它是乙個給類的物件新增方法的方法 object 物件例項 屬性 constructor 對建立物件的函式的引用 指標 對於object...