// var 声明的i是在全局的变量 函数内部的cosnole.log(i) 中的i指向是全局的 运行时候输出的是最后一轮的i var a = [] for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i) } } a[6]() // let 声明的j只在本轮循环有效 每次循环j都是新变量 var b = [] for (let j = 0; j < 10; j++) { a[j] = function () { console.log(j) } } a[6]()