Maison > Questions et réponses > le corps du texte
Pourquoi cette façon d’écrire ne fonctionne-t-elle pas ? S'il vous plaît, dites-moi où je me suis trompé
我想大声告诉你2017-05-19 10:48:33
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)
过去多啦不再A梦2017-05-19 10:48:33
//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.