Le script doit avoir à imprimer 'Hello', puis 'Good bye', en raison des entrées de l'appel de fonction. Mais imprime seulement une fois. Pourquoi? Qu'est-ce qui ne va pas ici ci-dessous.Récursivité avec la méthode des arguments
PD: Maintenant, cela ne fonctionne pas. Il fait si je commente la ligne d'appel récursion
<html>
<head>
</head>
<body>
<script type="text/javascript">
function writing(i,first,second) {
len=arguments.length;
if (i<=len) {
current=arguments[i];
c=0;
inter=setInterval(function() {
if (c>=current.length) {
clearInterval(inter);
} else {
field=document.getElementById('div1');
field.innerHTML+=current[c];
c+=1;
}
},200);
}
i<len?writing(i+1,first,second):writing(i=0,first,second);
}
writing(1,'Hello','Good bye');
</script>
<div id="div1"></div>
</body>
Saints manquant pour compléter les déclarations de var', Batman! Si vous omettez le mot-clé 'var' (ou' let' ou 'const'), la variable sera déclarée à la portée globale (' window' dans ce cas) - provoquant toutes sortes de pollution potentielle et de diaphonie. Il est préférable de prendre l'habitude d'utiliser un linter pour vous aider à attraper ce genre de chose. –
Ok. J'ai diminué le problème. Maintenant, il imprime un message aléatoire avec 'Undefined',' Hello' ou 'Goodbye'. Non respect de l'heure setInterval pour exécuter par caractère Pourquoi? – gAbad