记录一下不能使用let时如何创建局部变量(使用立即执行函数)

记录一下阮老师提及的立即执行函数模拟let(以前根本没想到可以这样做啊!)

// IIFE 写法
(function () {
  var tmp = ...;
  ...
}());

// 块级作用域写法
{
  let tmp = ...;
  ...
}

该方法利用使用var创建的变量会存放在函数作用域中的特点,使用一个匿名立即执行函数来包裹其中的变量,让其不对外部函数块中的变量造成影响,也可以存储使用var进行循环的for循环的i值,让其不出现调用时总是使用循环结束后的i值,而是每次循环时的i值。

posted @ 2019-03-26 18:48  FreezeNow  阅读(227)  评论(0编辑  收藏  举报