2012-02-29 70 views
-4

當我執行以下操作時,仍然出現錯誤。 任何幫助非常感謝。遞歸Javascript

約翰

var power = function (base, exponent){ 
     if (exponent === 0){ 
      return 1; 
     } 
     else() { 
      return base * power(base, exponent-1); 
     } 
    }; 
+0

你最好檢查'指數<= 0'。 – Gumbo 2012-02-29 10:54:31

+0

你的錯誤是'SyntaxError:意外的標記)' – 2012-02-29 10:54:39

+0

@ LuchianGrigore的回答非常正確和簡單。請注意,Firebug雖然未默認安裝,卻是一款值得使用的工具。很多時候,它使我從逐行調試JS的時間節省了不少......你應該考慮安裝它...... – 2012-02-29 10:56:28

回答

6

else後刪除括號:

var power = function (base, exponent){ 
    if (exponent === 0){ 
     return 1; 
    } 
    else { // <--- extra parenthesis here 
     return base * power(base, exponent-1); 
    } 
}; 
1

退房這一點,你有一個錯字

var power = function (base, exponent){ 
     if (exponent === 0){ 
      return 1; 
     } 
     else { 
      return base * power(base, exponent-1); 
     } 
    };