2016-01-20 4 views
0

У меня есть этот кодconsole.log печатает непрошеной строки

function printCompanyAccount(){ 
     var tempCompanyAccount = companyAccount(); 
     tempCompanyAccount.printAP(); 
    } 

    var companyAccount = function() { 
    var account = { 
     printAR: function() { 
      //Some logic 
      //... 
      //Here is when it's acting up. 
      console.log("Print account receivable object"); 
      this.printAP(); 
     }, 
     printAP: function() { 
      //Business logic 
      //... 
      console.log("Print account payable object") 
     } 
    }; 
    return account; 
} 

, когда я называю tempCompanyAccount.printAP() на printCompanyAccount() отображает

Печать счета к получению объекта
Печать кредиторской задолженности объект

и, как я полагаю, он должен печатать только объект печати, подлежащий оплате, является это плохая идея использовать console.log(), поскольку используется во многих частях моего кода? это лучше для этого?

+0

Что такое 'this.printAP,' делает там? Действительно ли это 'this.printAP()' (что полностью объясняет наблюдаемое поведение)? – Bergi

+0

Вы можете показать консольный выход? –

+0

1. У вас есть опечатка в 'funtion', 2. Невозможно воспроизвести с предоставленным кодом, но я подозреваю, что вы вызываете другой метод в пропущенном коде. –

ответ

1

Он работает правильно, если вы не делаете никаких опечаток. Смотрите фрагмент кода:

function printCompanyAccount(){ 
 
    var tempCompanyAccount = companyAccount(); 
 
    tempCompanyAccount.printAP(); 
 
} 
 

 
var companyAccount = function() { 
 
    var account = { 
 
     printAR: function() { 
 
      console.log("Print account receivable object"); 
 
      document.body.innerHTML += "Print account receivable object"; 
 
     }, 
 
     printAP: function() { 
 
      console.log("Print account payable object"); 
 
      document.body.innerHTML += "Print account payable object"; 
 
     } 
 
    }; 
 
    return account; 
 
} 
 

 
printCompanyAccount();

+1

По крайней мере используйте '+ =' вместо '=', если вы нарушаете 'innerHTML' для ведения журнала. – Bergi

+0

Спасибо, я просто забыл об этом. Отредактировал ответ. – abeyaz

Смежные вопросы