js 如何比较两个对象相等

JavaScript019

js 如何比较两个对象相等,第1张

有两种方法,

把两个对象转换成json之后比较字符串是否相等JSON.stringify(Object)

获取两个对象的所有字段,然后再去比较Object.key(对象)

第一种,判断js对象中是否有某个属性

var obj = {test : 'test'}

if('test' in obj){

    console.log('yes')

} else {

    console.log('no')

}

第二种,判断js对象本身是否有某个属性(所谓本身有意思是,必须属性是直接在对象上的,而不是通过原型链上找到的。

var Base = function(){}

Base.prototype.test = 'test'

var obj = new Base()

obj.test2 = 'test2'

if('test1' in obj){

    console.log('yes')

} else {

    console.log('no')

}

if(obj.hasOwnProperty('test2')){

    console.log('own')

} else {

    console.log('none')

}

//用in 操作符,可以判断有没有。 用hasOwnProperty来判断在自身有没有。