搜尋

首頁  >  問答  >  主體

javascript - 實作求階層的程式碼哪裡錯了


為什麼這種寫法不行?請問錯在哪裡了

高洛峰高洛峰2810 天前447

全部回覆(2)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:48:33

    首先,不要發截圖,我想修改你程式碼都不可以。
    其次吧,onclick是回呼函數,當class=‘jisuan’觸發onclick事件時,並不會傳給你參數n,而且你這種寫法永遠不會到

        answer.innerHTML = factorial(n)

    這條語句。
    可以改成這樣寫 :

        jisuan.onclick = function() {
            var n = document.getElementById('jieceng').value
             
             function factorial(n) {
                 if( n > 1){
                     //你的代码
                 }else {
                     //你的代码
                 }
             } 
             answer.innerHTML = factorial(n)   
        }

    再也不給發截圖的寫程式碼了(逃)

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:48:33

    //更新:@克利威爾的答案是正解,我的答案考慮不周全。

    1.return 會終止函數的執行,所以為 span 增加內容的語句就永遠不會被執行。

    2.階乘函數的參數是 n,不過你又把 n 的值重新獲取了一次,相當於不管你傳的參數是多少,最終 n 永遠都是 input 的 value 。所以給 n 重新賦值的那一行(25行)可以去掉,然後每次傳的參數比上一次少1 。

    回覆
    0
  • 取消回覆