Я написал функцию, которая сравнивает два объекта, равные ли они. Почему моя инструкция return в цикле не работает?Функция возврата не работает
var deepEqual = function(a, b){
\t \t var aProp = Object.getOwnPropertyNames(a);
\t \t var bProp = Object.getOwnPropertyNames(b);
\t \t if(aProp.length !== bProp.length){
\t \t \t return false;
\t \t }
\t \t else{
\t \t \t for (var i = 0; i < aProp.length; i++) {
\t \t \t \t if(typeof a[aProp[i]] === 'object' && typeof b[bProp[i]] === 'object'){
\t \t \t \t \t deepEqual(a[aProp[i]], b[bProp[i]]);
\t \t \t \t }
\t \t \t \t else{
\t \t \t \t \t if(a[aProp[i]] !== b[bProp[i]]){
\t \t \t \t \t \t return false; // WHY IT DOESN'T WORK???
\t \t \t \t \t }
\t \t \t \t }
\t \t \t };
\t \t \t return true;
\t \t }
\t };
\t var obj = {a: 2, here: {is: "asn"}, object: 2, d: 12};
\t console.log(deepEqual(obj, {a: 2, here: {is: "an"}, object: 2, d: 12}));
О, большое спасибо !!!! – StasKh