有如下两个对象例子:
var obj1 = {
name:"xx",
sex:"man",
age:18
}
var obj2 = {
name:"xxs",
sex:"man",
age:18
}
判断两个对象是否相等方法:
function isObjectValueEqual (a, b) {
//取对象 a 和 b 的属性名
var aProps = Object.getOwnPropertyNames(a);
var bProps = Object.getOwnPropertyNames(b);
//判断属性名的 length 是否一致
if (aProps.length != bProps.length) {
return false;
}
//循环取出属性名,再判断属性值是否一致
for (var i = 0; i < aProps.length; i++) {
var propName = aProps[i];
if (a[propName] !== b[propName]) {
return false;
}
}
return true;
}
如何使用:
var isChange = isObjectValueEqual(obj1,obj2);
if (isChange == true){
console.log('没有修改,不需要提示是否保存');
}else {
console.log('发生修改,提示是否保存');
}