為什麼這種寫法不行?請問錯在哪裡了
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
首先,不要發截圖,我想修改你程式碼都不可以。 其次吧,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) }
再也不給發截圖的寫程式碼了(逃)
//更新:@克利威爾的答案是正解,我的答案考慮不周全。
1.return 會終止函數的執行,所以為 span 增加內容的語句就永遠不會被執行。
2.階乘函數的參數是 n,不過你又把 n 的值重新獲取了一次,相當於不管你傳的參數是多少,最終 n 永遠都是 input 的 value 。所以給 n 重新賦值的那一行(25行)可以去掉,然後每次傳的參數比上一次少1 。
首先,不要發截圖,我想修改你程式碼都不可以。
其次吧,onclick是回呼函數,當class=‘jisuan’觸發onclick事件時,並不會傳給你參數n,而且你這種寫法永遠不會到
這條語句。
可以改成這樣寫 :
再也不給發截圖的寫程式碼了(逃)
//更新:@克利威爾的答案是正解,我的答案考慮不周全。
1.return 會終止函數的執行,所以為 span 增加內容的語句就永遠不會被執行。
2.階乘函數的參數是 n,不過你又把 n 的值重新獲取了一次,相當於不管你傳的參數是多少,最終 n 永遠都是 input 的 value 。所以給 n 重新賦值的那一行(25行)可以去掉,然後每次傳的參數比上一次少1 。