js 中object物件的操作

2021-09-07 10:03:22 字數 2642 閱讀 9913

n =object物件 

for(var p in

n)

繼之前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物件

由於整個js都是由物件構成的,所以說可以用以下函式檢視某個物件所有的屬性 function showallproper objname,strobjname 使用時候 showallproper mebera,mbera 就會傳回所有的屬性 建立乙個object物件大體有三種方法 1.呼叫new運算...

js內建物件 Object

js中的一些內建方法還是挺好用的,使用它們有時候會節省我們很多時間,還有減少 量 一 object.keys obj 獲取乙個物件的key值,但是引數obj必須是可列舉的物件,他會返回乙個包含物件自身的所有可列舉屬性值的陣列。let obj abc 123 let keys object.keys ...

js如何列印object物件

js除錯中經常會碰到輸出的內容是物件而無法列印的時候,光靠alert只能列印出object標示,卻不能列印出來裡面的內容,甚是不方便,於是各方面整理總結了如下乙個函式,能夠將陣列或者物件這類的結果一一列印出來,具體 如下 function writeobj obj alert description...