javascript - 實作求階層的程式碼哪裡錯了
高洛峰
高洛峰 2017-05-19 10:46:33
0
2
440


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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(2)
我想大声告诉你

首先,不要發截圖,我想修改你程式碼都不可以。
其次吧,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)   
    }

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

过去多啦不再A梦

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

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

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板