let 和 var 自己理解

68 阅读1分钟

let是es6中新增命令

let和var的区别体现在作用域上。

  • var作用域是函数作用域
  • let作用域是块作用域
  • 如果都不在函数作用域和块作用域中则都为全局作用域

在全局作用域中区别

被let声明的变量不会作为全局对象window的属性,而被var声明的变量却可以

在函数作用于中意义一样

在块作用域中区别

let只在for()循环中可用,而 var是对于包围for循环的整个函数可用

let 和var 重新声明

var允许在同一作用域中声明同名的变量,而let不可以