js Object的方法(更新中。。。)

1、Object.getOwnPropertyDescriptor

(1)方法返回指定對象上一個自有屬性對應的屬性描述符。(自有屬性指的是直接賦予該對象的屬性,不需要從原型鏈上進行查找的屬性)

(2)參數(shù)

Object.getOwnPropertyDescriptor(obj,prop)

obj:需要查找的目標對象

prop:目標對象的屬性

(3)返回值

如果指定的屬性存在于對象上,則返回其屬性描述符對象(property descriptor),否則返回undefined。

value

該屬性的值(僅針對數(shù)據(jù)屬性描述符有效)

writable

當且僅當屬性的值可以被改變時為true。(僅針對數(shù)據(jù)屬性描述有效)

get

獲取該屬性的訪問器函數(shù)(getter)。如果沒有訪問器, 該值為undefined。(僅針對包含訪問器或設(shè)置器的屬性描述有效)

set

獲取該屬性的設(shè)置器函數(shù)(setter)。 如果沒有設(shè)置器, 該值為undefined。(僅針對包含訪問器或設(shè)置器的屬性描述有效)

configurable

當且僅當指定對象的屬性描述可以被改變或者屬性可被刪除時,為true。

enumerable

當且僅當指定對象的屬性可以被枚舉出時,為true。

2、Object.keys

(1)方法會返回一個由一個給定對象的自身可枚舉屬性組成的數(shù)組

(2)參數(shù)

Object.keys(obj)

obj目標對象

(3)返回值

一個表示給定對象的所有可枚舉屬性的字符串數(shù)組。

3、Object.values

(1)方法返回一個給定對象自身的所有可枚舉屬性值的數(shù)組

(2)參數(shù)

Object.values(obj)

obj目標對象

(3)返回值

一個包含對象自身的所有可枚舉屬性值的數(shù)組。

4、Object.defineProperty

(1)方法會直接在一個對象上定義一個新屬性,或者修改一個對象的現(xiàn)有屬性,并返回此對象。

(2)參數(shù)

Object.defineProperty(obj,prop,descriptor

obj

要定義屬性的對象。

prop

要定義或修改的屬性的名稱或Symbol

descriptor

要定義或修改的屬性描述符。

(3)返回值

被傳遞給函數(shù)的對象

const object1 = {};

Object.defineProperty(object1, 'name', {

? get: function(){

? return name

? },

? set: function(val){

? console.log("我被執(zhí)行了");

? ? name = val

? }

});

5、Object.getOwnPropertyNames

(1)方法返回一個由指定對象的所有自身屬性的屬性名(包括不可枚舉屬性但不包括Symbol值作為名稱的屬性)組成的數(shù)組。

(2)參數(shù)

Object.getOwnPropertyNames(obj)

obj:一個對象,其自身的可枚舉和不可枚舉屬性的名稱被返回。

(3)返回值

在給定對象上找到的自身屬性對應的字符串數(shù)組。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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