var aCtor = a.constructor, bCtor = b.constructor;
if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&
_.isFunction(bCtor) && bCtor instanceof bCtor)
&& ('constructor' in a && 'constructor' in b)) {
return false;
}
这里为什么要这么判断两个对象是否相等? 代码来自underscore中的Equal函数
这里的a,b待判断的对象
推荐看看这篇 干活