比較兩個值是否相等,你可以用恒等理解,但是值得注意的是,兩個點
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 返回乙個陣列,包含物件自身 不含繼承的 ...