$('.dom').on('click', function () {
function test() {
console.log('abc');
}
});
Le test de fonction est déclaré à chaque clic, puis le rappel de clic est exécuté et GCé. Si le dom est cliqué plus d'une fois, chaque rappel de clic aura une déclaration de fonction supplémentaire. Je me souviens que la spécification jshint n'en a pas. autoriser l'écriture de déclarations de fonctions. La situation actuelle dans la boucle n'est-elle pas similaire ? Alors, quelle est la meilleure façon de gérer cela ? Dois-je déplacer la position de déclaration de la fonction de test vers l'extérieur ? Cela entraînera une fermeture et la fonction de test ne pourra pas être recyclée. Si l'utilisateur n'utilise cette logique qu'une seule fois, elle le sera évidemment. une perte. Que dois-je faire? ~
Il y a une différence entre une boucle et une fonction.
La boucle n'est pas une portée indépendante, donc y déclarer la fonction sera déclarée à l'avance, mais pas dans la fonction. jshint empêche les définitions en double.
b ne sera déclaré que lorsque la fonction a est exécutée, et s'il n'y a pas de référence externe pointant vers b, elle sera détruite après que la fonction exécute le prochain cycle de recyclage.
En fait, il n’y a pas beaucoup de différence.
Le test est jeté après utilisation, il ne sera pas irrecyclable.
Si vous ne l'exécutez qu'une seule fois, vous pouvez faire ceci :
Le foo défini n'affectera pas le monde extérieur. Désinstallez-le immédiatement après utilisation et attendez le recyclage
.Propre et propre, cachant le mérite et la renommée