我想大声告诉你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)
}
再也不給發截圖的寫程式碼了(逃)
过去多啦不再A梦2017-05-19 10:48:33
//更新:@克利威爾的答案是正解,我的答案考慮不周全。
1.return 會終止函數的執行,所以為 span 增加內容的語句就永遠不會被執行。
2.階乘函數的參數是 n,不過你又把 n 的值重新獲取了一次,相當於不管你傳的參數是多少,最終 n 永遠都是 input 的 value 。所以給 n 重新賦值的那一行(25行)可以去掉,然後每次傳的參數比上一次少1 。