ES6的let和ES5的var有何本质区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计586个文字,预计阅读时间需要3分钟。
目录 + var 关键字 + let 关键字 + 补充 + var 关键字 + 在 ES5 及以前,通过 var 在块级作用域中声明的变量,外部也可以访问。块级作用域是指一对大括号 {} 内的作用域;块级作用域可以是控制语句的作用域。
目录
- var 关键字
- let 关键字
- 补充
var 关键字
在 ES5 及以前,通过var在块级作用域中声明的变量,外边也可以访问。块级作用域就是一对{}的作用域;块级作用域可以是控制语句的作用域,也就是非函数的作用域。
function f() { { var x = 10; } console.log(x); // => 10 }
在 for 循环体中的变量 i,可以被打印出来,假如因为代码过多,不知道何时间变量重命名了,只有运行时才报错。又因为只有函数才可以创建一个块级作用域,所以,针对于上面出现的问题,就要通过 IIFE 来创建一个块级作用域。
本文共计586个文字,预计阅读时间需要3分钟。
目录 + var 关键字 + let 关键字 + 补充 + var 关键字 + 在 ES5 及以前,通过 var 在块级作用域中声明的变量,外部也可以访问。块级作用域是指一对大括号 {} 内的作用域;块级作用域可以是控制语句的作用域。
目录
- var 关键字
- let 关键字
- 补充
var 关键字
在 ES5 及以前,通过var在块级作用域中声明的变量,外边也可以访问。块级作用域就是一对{}的作用域;块级作用域可以是控制语句的作用域,也就是非函数的作用域。
function f() { { var x = 10; } console.log(x); // => 10 }
在 for 循环体中的变量 i,可以被打印出来,假如因为代码过多,不知道何时间变量重命名了,只有运行时才报错。又因为只有函数才可以创建一个块级作用域,所以,针对于上面出现的问题,就要通过 IIFE 来创建一个块级作用域。

