我對控制流中自身的return語句有個疑問。「return」聲明
var rockPaperScissors = function(n) {
var rounds = n;
var results = [];
var weapons = ['rock', 'paper', 'scissors'];
var recurse = function(roundsLeft, played) {
if(roundsLeft === 0) {
results.push(played);
return;
}
for(var i = 0; i<weapons.length; i++) {
var current = weapons[i];
recurse(roundsLeft-1, played.concat(current));
}
};
recurse(rounds; []);
return results;
}
我想知道爲什麼return語句不寫爲:
return results.push(played);
有什麼好處?如果是這樣,那麼爲什麼和什麼時候應該這樣寫?
你有一個小的語法錯誤:它應該是'recurse(rounds,[]);'。它應該是一個逗號而不是分號 – Domysee