比如打开一个页面,如果你带过来的数据与页面缓存的数据一样则不用更新页面直接加载,如果不一样则更新页面数据,这样可以更快加载页面,这个时候就要比较缓存与post过来的数据吧,这就是两个对象的比较啊,我的想法是把两个对象加密,然后比较这两个对象加密后的字符串的值,如果对象有一点不一样加密后的值都会变化,这样可以很好的比较两个对象的值了而不用遍历它们每个key和value
① 方法一:通过JSON.stringify(obj)
来判断两个对象转后的字符串是否相等
优点:用法简单,对于顺序相同的两个对象可以快速进行比较得到结果
缺点:这种方法有限制就是当两个对象内容是否一致时就没用了
② 方法二:
getOwnPropertyNames
该方法可以将Object对象的第一层key获取到并返回一个由第一层key组成的数组。
优点:相对方法一进行了优化,可以应对不同顺序的Object进行比较,不用担心顺序不同而对比出错
缺点:从方法中可以看到只能获取到第一层的key组成的数组,当对象是复合对象时无法进行多层对象的比较