Tout d’abord, n’envoyez pas de captures d’écran, je ne peux pas modifier votre code même si je le souhaite. Deuxièmement, onclick est une fonction de rappel. Lorsque class='jisuan' déclenche l'événement onclick, le paramètre n ne vous sera pas transmis et votre façon d'écrire n'arrivera jamais
answer.innerHTML = factorial(n)
Cette déclaration. peut être modifié comme suit :
jisuan.onclick = function() {
var n = document.getElementById('jieceng').value
function factorial(n) {
if( n > 1){
//你的代码
}else {
//你的代码
}
}
answer.innerHTML = factorial(n)
}
Je n'écrirai plus jamais de code pour quiconque enverra des captures d'écran (évasion)
//Mise à jour : la réponse de @clearwell est la bonne réponse, ma réponse n'a pas été bien réfléchie.
1.return mettra fin à l'exécution de la fonction, donc l'instruction ajoutant du contenu à span ne sera jamais exécutée.
2. Le paramètre de la fonction factorielle est n, mais vous obtenez à nouveau la valeur de n, ce qui signifie que peu importe le nombre de paramètres que vous transmettez, n sera toujours la valeur d'entrée à la fin. Par conséquent, la ligne (ligne 25) qui réaffecte n peut être supprimée, et les paramètres passés à chaque fois sont alors 1 de moins que la dernière fois.
Tout d’abord, n’envoyez pas de captures d’écran, je ne peux pas modifier votre code même si je le souhaite.
Deuxièmement, onclick est une fonction de rappel. Lorsque class='jisuan' déclenche l'événement onclick, le paramètre n ne vous sera pas transmis et votre façon d'écrire n'arrivera jamais
Cette déclaration.
peut être modifié comme suit :
Je n'écrirai plus jamais de code pour quiconque enverra des captures d'écran (évasion)
//Mise à jour : la réponse de @clearwell est la bonne réponse, ma réponse n'a pas été bien réfléchie.
1.return mettra fin à l'exécution de la fonction, donc l'instruction ajoutant du contenu à span ne sera jamais exécutée.
2. Le paramètre de la fonction factorielle est n, mais vous obtenez à nouveau la valeur de n, ce qui signifie que peu importe le nombre de paramètres que vous transmettez, n sera toujours la valeur d'entrée à la fin. Par conséquent, la ligne (ligne 25) qui réaffecte n peut être supprimée, et les paramètres passés à chaque fois sont alors 1 de moins que la dernière fois.