javascript - Question sur la raison pour laquelle la valeur de i est égale à 5
欧阳克
欧阳克 2017-06-12 09:29:37
0
8
904
(function(){
    for(var i = 0; i < 5; i++) {}
    console.log(i) // i = 5
})()

Première question : à quelle partie de la connaissance js cela appartient-il ?
Deuxième question : Expliquez en termes simples pourquoi i est égal à 5 ?
0o0

欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

répondre à tous(8)
Ty80

Ce problème est-il une fermeture ? Je ne pense pas que ce soit une fermeture, et il n'y a pas d'imbrication de fonctions C'est un problème de variables locales de fonction et de fonctions anonymes.

.

Créer une fonction anonyme et l'exécuter immédiatement n'implique pas de fermetures, juste la fin de la boucle, i 的值变成 5 退出循环, console.log(i)打印当前的 i, qui est 5.

.

Cela équivaut à :

var test = function() {
    for(var i = 0; i < 5; i++) {}
    console.log(i) // i = 5
}
test();
扔个三星炸死你

Ceci n'est pas une fermeture, c'est juste une valeur imprimée après la vitesse de la boucle for

刘奇

Il s'agit d'un problème causé par le fait que js n'a pas de portée au niveau du bloc, uniquement une portée de fonction. . . Ju peut directement tirer la fermeture. . . Je l'accepte. . .

伊谢尔伦

Il n'existe pas de portée au niveau du bloc en JavaScript, donc les variables à l'intérieur de la boucle for {} et de l'instruction if {} sont accessibles de l'extérieur.

La portée est divisée en portée mondiale et portée locale

La portée globale est intégrée par le système pour vous lorsque vous créez un document.
La portée locale est obtenue en créant une fonction.

刘奇
  • Cela apparaît généralement dans le problème de l'examen des fermetures

  • i + 1 a bouclé 5 fois, donc i est 5

左手右手慢动作
  1. Vous devriez vouloir en savoir plus sur les fermetures en js

  2. Étant donné que l'exécution de la boucle for est terminée lorsque console.log est exécuté, i est naturellement égal à 5

刘奇

Jetons un coup d'œil aux fermetures combinées avec des minuteries ou à la liaison d'événements

左手右手慢动作

Fermetures en js,

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal