创建10个a标签 点击弹出对应序号

错误写法:

var i, a
for (i = 0; i< 10; i++) {
	a = document.createElement('a');
	a.innerHTML = i + "
"
; a.addEventListener("click", function(e) { e.preventDefault(); alert(i); }) document.body.appendChild(a) }

正确的两种写法

// 使用 ES6 的 let 实现块级作用域
var a
for (let i = 0; i< 10; i++) {
	a = document.createElement('a');
	a.innerHTML = i + "
"
; a.addEventListener("click", function(e) { e.preventDefault(); alert(i); }) document.body.appendChild(a) } // 使用函数作用域 var i, a for (i = 0; i< 10; i++) { (function (i) { // 函数作用域 a = document.createElement('a'); a.innerHTML = i + "
"
; a.addEventListener("click", function(e) { e.preventDefault(); alert(i); }) document.body.appendChild(a) })(i) }

你可能感兴趣的:(JS基础)