- 每个块级都创建一个函数作用域, 作用域中创建形参都只限制于该函数作用域内,不同函数作用域内的形参相互独立
实例
for (var i = 0; i < 3; i++) {
(function (j) {//每个块级都创建一个函数作用域, 作用域中创建形参j的变量
setTimeout(function () {
console.log(j);
}, 1000);
})(i)
}等同于
for (let i = 0; i < 3; i++) {
setTimeout(function() {
console.log(i);
}, 1000);
}