Maison > Questions et réponses > le corps du texte
La première façon d'écrire
1 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
La deuxième façon d'écrire
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
C'est très clair, merci !
Samhanx
给我你的怀抱2017-05-16 13:41:30
Faites attention à l'IIFE dans la première manière d'écrire, de sorte que lorsque le code est exécuté et que la fonction addEvent est attribuée, il sera clair si addEvent est une fonction renvoyée par if ou bien if.
Dans la deuxième façon d'écrire, addEvent est toujours la fonction la plus externe lors de l'exécution du code. Lorsque vous appelez réellement addEvent(), vous réaffectez la valeur en interne pour clarifier ce qu'est addEvent, puis vous vous appelez dans la fonction. de paresse.
Notez qu'il existe un processus de passage pour les paramètres intermédiaires, et s'il n'est pas appelé, la référence à la fonction externe sera toujours enregistrée sur addEvent. Après l'exécution de la fonction d'exécution immédiate de la première méthode d'écriture, la mémoire occupée par. la fonction anonyme sera Démarrer en attente de recyclage.
黄舟2017-05-16 13:41:30
Je comprends que la deuxième méthode est appelée une fonction de chargement paresseux, qui est relative à la première méthode :
1) La première méthode, car c'est une IIFE, que addEvent
soit appelé ou non Il a été confirmé que le navigateur prend en charge addEventListener
ou attachEvent
; addEvent
, 都已经确认了浏览器支持的是addEventListener
,还是attachEvent
;
2) 第二种方法,则是在显式调用addEvent
2) La deuxième méthode consiste à appeler explicitement addEvent
pour connaître l'état de prise en charge du navigateur. .
漂亮男人2017-05-16 13:41:30
Dans la deuxième méthode, addEvent a été réaffecté après le premier appel, et il n'est pas nécessaire d'effectuer un jugement de branche lors du deuxième appel