2017-01-15 38 views

回答

0

我想你想要做的是return guessIsCorrect或guessIsWrong從compare功能。

$scope.compare = function(guess) { 
    guess = guess.replace(/\s/g, '').toLowerCase(); 
    var answers = []; 
    answers.push($scope.name.replace(/\s/g, '').toLowerCase()); 

    currentAnimal.alts.forEach(function(alt) { 
     answers.push(alt.toLowerCase().replace(/\s/g, '')); 
    }); 
    //console.log(answers); 
    //console.log("Guess: " + guess + "\n"); 
    //console.log("Answer: " + answers + "\n"); 

    for (var x = 0; x <= answers.length; x++) { 
     if (guess === answers[x]) { 
      return guessIsCorrect(); 
     } 
     if (x === answers.length) { 
      return guessIsWrong(); 
     } 
    } 

}; 
+0

啊!非常感謝!這是我的JavaScript知識中的一個明顯的缺口。但爲什麼我需要返回任一功能?我不應該只能打電話嗎? –

+0

我認爲這兩種功能都可以觸發。通過使用'return'你可以在那個時候停止函數,並且會忽略後面的代碼。您可以在guessIsCorrect或guessIsWrong被調用之後使用'break',因爲它會退出for循環。 –

+0

啊,我陷入了困境。謝謝您的幫助! –

相關問題