JavaScript在for循环中绑定事件解决事件参数不同的情况_javascript技巧
有时候要对响应一堆相似的事件,但是每个事件的参数都不同,一开始还以为挺简单的,用个for循环不就得了,结果发现,额,都是使用了最后一个参数。。。
上网查资料!!!结果大神说用闭包解决
代码:
for(var i=0;ibtns[i].onclick=(function(i){
return function(){alert(i)}
})(i)
}
大概原因是直接用btns[i].onclick=function(){alert(i)}时,JavaScript引擎会先将for循环里的代码执行完,
当用户出发onclick事件时,JavaScript会寻找i,结果会找到运算完成之后的i,也就是10
但是用闭包处理的话,i会成为函数的局部变量

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Étapes de mise en œuvre : 1. Utilisez la plage de contrôle de l'instruction for pour parcourir les nombres de 1 à 100, la syntaxe est "for ($i = 1; $i <= 100; $i++) {code du corps de la boucle}" ; le corps de la boucle, utilisez simplement l'instruction if et l'opérateur "%" pour obtenir et afficher des nombres impairs. La syntaxe est "if($i % 2 != 0){echo $i ";}".

Séquence d'exécution : 1. Exécutez « l'expression d'initialisation » ; 2. Exécutez « l'expression de jugement conditionnel ». Si la valeur de l'expression est vraie, exécutez le « corps de la boucle » ; corps, exécutez « Expression de mise à jour de variable » ; 4. Une fois la variable mise à jour, entrez dans la boucle suivante jusqu'à ce que la valeur du jugement de condition soit fausse, mettant ainsi fin à la boucle.

Dans l'article précédent "Apprentissage des boucles JS : utilisation des instructions de boucle While (exemples détaillés)", nous avons brièvement découvert les boucles while et les boucles do while, et aujourd'hui nous présenterons une autre boucle - l'instruction de boucle for, j'espère que ce sera le cas. utile à tout le monde.

Comment utiliser la boucle for en Python Python est un langage de programmation simple et facile à utiliser, et la boucle for est l'un des outils les plus couramment utilisés. En utilisant des boucles for, nous pouvons parcourir une série de données, effectuer des traitements et des opérations efficaces et améliorer l'efficacité du code. Ci-dessous, je vais vous présenter comment utiliser la boucle for en Python à travers des exemples de code spécifiques. Syntaxe de base de la boucle for En Python, la syntaxe d'une boucle for est la suivante : variable for dans un objet itérable :

MySQL n'a pas de boucle for. MySQL ne prend pas en charge les instructions de boucle. Il ne prend en charge que trois instructions de boucle : WHILE, REPEAT et LOOP. MySQL fournit des instructions de boucle, vous permettant d'exécuter à plusieurs reprises un bloc de code SQL en fonction de conditions.

Un tableau est un groupe d’éléments de données associés stockés sous un seul nom. Par exemple, intStudent[30];//student est un nom de tableau, une collection de 30 éléments de données contenant un seul nom de variable Recherche opérationnelle de tableau - utilisée pour savoir si un élément spécifique existe en tri - elle aide à organiser les éléments dans le tableau par ordre croissant ou Trier par ordre décroissant. Traversal - Il traite chaque élément du tableau de manière séquentielle. Insertion - Cela aide à insérer des éléments dans un tableau. Supprimer - Cela aide à supprimer des éléments d'un tableau. éléments du tableau. La logique pour trouver des nombres pairs dans un tableau est la suivante - for(i=0;i<size;i++){ if(a[i]%2==0){

La logique d'impression d'un calendrier mensuel est la suivante : for(i=1;i<first;i++) printf("");for(i=1;i<=noofdays;i++){ printf("%3d",i); si((premier+i-1)%7==0) &nb

Nous savons que la syntaxe de Go est relativement concise. Il ne fournit pas de syntaxe de contrôle de boucle telle que while, do... while, etc. prise en charge par C, mais ne conserve qu'une seule instruction, la boucle for.
