js物件上的方法

2021-10-12 02:10:38 字數 2201 閱讀 5623

比較兩個值是否相等,你可以用恒等理解,但是值得注意的是,兩個點

object.is(

+0,-

0);false

object.is(

nan,

nan)

;true

列舉物件裡的屬性

object.

assgin

(target,source1,source2)

把source1,source2物件裡的屬性複製到target物件裡,若有同名屬性,後者覆蓋前者

值得注意的是,這裡的複製是淺複製,如果複製的屬性值是物件,那麼target拿到的是物件的引用

object.

getprototypeof

(obj)

返回引數物件的原型,獲取原型物件的標準方法

值得注意的是

object.

getprototypeof

() object.prototype

object.

getprototypeof

(object.prototype)

null

object.

getprototypeof

(function.prototype) object.prototype

object.

setprototypeof

(a,b)

把a的原型設定為物件b,a就可以共享b的屬性

建立物件,其實也可以理解成複製物件

a =obj = object.

create

(a) obj =

以a作為原型創造乙個物件

值得注意的是:

如果你想創造乙個物件的原型沒有tostring()

,valueof

() 等方法得物件,你可以使用obj = object.

create

(null

),創造乙個空物件

object.

create

(a)會實時的監控a物件的屬性的增刪改查,然後實時的更新obj的值

object.

defineproperty

(obj,prop,

) obj為傳入的物件,prop為屬性,如果obj.prop存在,那麼就修改它的值,如果不存在,那就追加obj.prop屬性,obj.prop值為val

const object1 =

; object.

defineproperty

(object1,

'property1',)

; object1.property1 =

77; 賦值無效,值不可以被修改

console.

log(object1.property1)

;42

object.

getownpropertynames

(obj)

返回乙個陣列,成員是引數物件本身的所有屬性的鍵名,不包含繼承的鍵名

object.

keys

(obj)

obj為物件的話,遍歷屬性,返回值為乙個由屬性組成的陣列,obj為陣列的話,遍歷索引,返回值為乙個由索引組成的陣列。陣列元素皆為字串

obj1.

isprototypeof

(obj2)

檢測obj2原型鏈上是否有obj1物件

var o1 =

;var o2 = object.

create

(o1)

var o3 = object.

create

(o2)

o2.isprototypeof

(o3)

true

o1.isprototypeof

(o3)

true

obj.prototype.

hasownproperty

(『a』)

判斷obj.prototype是否有a屬性,不包含原型繼承的屬性

js列印物件的方法

物件是object將其轉化為字串型別,然後就可以列印出來了 function obj2string o if typeof o object if document.all n?function s tostring s n?s test o.tostring r else r r.join ret...

JS建立物件的方法

es5中沒有類的概率,我們要建立許多同型別物件時需要使用其他方法來實現 工廠模式 工廠模式其實就是通過定義乙個普通函式,利用函式來建立物件,物件的屬性都是通過函式引數傳遞的 function createperson name,age,job var person1 createperson zzh...

js遍歷物件的方法

1.for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2.obejct.keys obj 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3.object.getownpropertynames obj 返回乙個陣列,包含物件自身 不含繼承的 ...