在以下代碼中,該函數findById()實際上不返回任何內容。在console.log()如預期的火,打印,但結果是該函數被調用時,變量是不確定的。我試圖改變返回值類型,甚至只是return true;在沒有條件的情況下放在最后,但它總是未定義的。為了確保我沒有遺漏一些簡單的東西,我實際上創建了一個只返回值的函數istrue()。這實際上工作正常。這是對象/方法定義const database = { // List of authenticated characters characters: [], addCharacter: function(c) { this.characters.push(c); }, findById: function(id) { console.log('Searching for character...'); this.characters.forEach((c) => { if (c.id === id) { console.log('Found'); console.log('cid: ' + c.id); console.log('id: ' + id); return true; // Never actually returns } }); }, istrue: function() { return true; }};以及它被調用的地方const find = database.findById(characterIdToFind);console.log(typeof find); // always undefinedconsole.log(find); // always undefined我希望在我嘗試過的這個函數的至少一個排列中會有某種返回值。函數的返回值永遠不會有任何變化,只是undefined.
為什么對象方法不返回值?
精慕HU
2021-06-02 18:47:50