Maison > Questions et réponses > le corps du texte
<button type="button" onclick="func();">按钮</button>
var i = 0;
func(){
i += 1;
console.log(i)
}
Exigence : cliquez sur la variable du bouton pour augmenter de 1. Trouvez le meilleur moyen d’y parvenir.
Pour ajouter, il existe de nombreuses façons d’y parvenir.
Enregistrer directement dans des variables globales - polluant l'espace de noms global
Utiliser un tableau global pour enregistrer les variables globales de l'application actuelle - n'est pas conforme à l'architecture actuelle
Fermeture - ne semble pas s'adapter à la scène actuelle (utilisez onclick pour déclencher la fonction)
Ancré dans l'élément HTML - encore très faible
Utiliser une grande fonction anonyme pour prolonger la durée de vie d'une variable - n'est pas conforme à l'architecture actuelle
某草草2017-06-26 11:00:14
Qui a dit que les fermetures ne s’appliquaient pas ?
var func = (function(){
var i = 0;
return function(){
i++;
console.log(i);
}
}());
Ou vous pouvez faire ceci :
var func = function(){
func.i++;
console.log(func.i);
};
func.i = 0;
PHP中文网2017-06-26 11:00:14
Enregistré dans les attributs du nœud dom
<button data-click-number="0" type="button" id="incBtn" >按钮</button>
$("#incBtn").on('click',function(){
var preClickNumber=$(this).attr('data-click-number') ?: 1;
$(this).attr('data-click-number',preClickNumber++);
});
过去多啦不再A梦2017-06-26 11:00:14
js n'a pas de variables statiques. Il n'y a que des variables locales et des variables globales.
<button type="button" onclick="++i">按钮</button>
var i = 0;
黄舟2017-06-26 11:00:14
Les fermetures sont très populaires. Je vous suggère de lire quelques livres sur les expressions fonctionnelles de JavaScript. C'est aussi une fonctionnalité majeure de JavaScript
.let click = (() => {
var i = 0;
return function() {
i += 1;
console.log(i)
}
})()