Pourquoi les paramètres ne peuvent-ils pas être transmis à l'aide de variables globales (var i = 0), mais peuvent être transmis à l'aide de variables régionales (laisser i = 0)
for (var i = 0; i < inputs.length; i++) {
inputs[i].onfocus = function(){
showTip(i);
};
};
function showTip(n){
tips[n].style.color = "red";
}
Pour les questions Nikkei, veuillez effectuer une recherche par vous-même :
闭包
、JavaScript的块级作用域
let n'est valide que dans la portée actuelle au niveau du bloc (entre les accolades de for), et chaque boucle peut être considérée comme une nouvelle variable.
Vous pouvez vous référer à la commande let dans le document Getting Started with ECMAScript 6 de Ruan Yifeng