2016-01-20 56 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; 
} 

當我請printCompanyAccount tempCompanyAccount.printAP()()它顯示

打印應收賬款對象
打印應付賬款對象

我的信念是它應該只打印打印帳戶應付對象,是因爲我的代碼的多個部分正在使用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