1判断是否为同一个对象
var objT2 = {name: "lili", age:2,rows:{id:1,country:'china'}} var objT1 = {name:'lili',age:2,rows:{id:1,country:'china'}} obj1==obj2 //false var obj3 = obj1; obj1==obj3 //true
2判断两个单独的对象属性和值是否一致
方法1:写个方法一点点遍历对象和本身拥有的属性(不包含继承而来的)是否都相等,运用 Object.getOwnPropertyNames(obj1);参见 https://www.cnblogs.com/cuew1987/p/4057726.html
方法2:很简单的方法,利用JSON.stringify(obj1)===JSON.stringify(obj2)就可以进行判断,
类似的可以利用var objcopy = JSON.parse(JSON.stringify(obj2));可以实现对象的深拷贝;
var objT2 = {name: "lili", age:2,rows:{id:1,country:'china'}} var objT1 = {name:'lili',age:2,rows:{id:1,country:'china'}} obj1==obj2 //false var obj3 = obj1; obj1==obj3 //true function objEq(obj1,obj2){ return JSON.stringify(obj1)==JSON.stringify(obj2) } console.log(objEq(objT1,objT2))
注意:只要key和value值一致就可以,不论单引号双引号,或者空格的影响