Javascript 返回函数不';行不通

Javascript 返回函数不';行不通,javascript,function,loops,return,javascript-objects,Javascript,Function,Loops,Return,Javascript Objects,我写了一个函数来比较两个对象是否相等。 为什么循环中的return语句不起作用 var deepEqual=函数(a,b){ var aProp=Object.getOwnPropertyNames(a); var bProp=Object.getOwnPropertyNames(b); 如果(平均长度!==平均长度){ 返回false; } 否则{ 对于(变量i=0;i

我写了一个函数来比较两个对象是否相等。 为什么循环中的return语句不起作用

var deepEqual=函数(a,b){
var aProp=Object.getOwnPropertyNames(a);
var bProp=Object.getOwnPropertyNames(b);
如果(平均长度!==平均长度){
返回false;
}
否则{
对于(变量i=0;ilog(deepEqual(obj,{a:2,这里:{is:“},object:2,d:12}))
deepEqual
的递归调用没有执行任何操作

您可以检查其结果,如果不匹配,则返回false:

var deepEqual=函数(a,b){
var aProp=Object.getOwnPropertyNames(a);
var bProp=Object.getOwnPropertyNames(b);
如果(平均长度!==平均长度){
返回false;
}
否则{
对于(变量i=0;i如果(!deepEqual(a[aProp[i]],b[bProp[i]]){/您正在使用递归,但没有检查递归调用是否失败。请尝试以下操作:

    if (!deepEqual(a[aProp[i]], b[bProp[i]])) {
        return false;
    }