JavaScript 中的var和let
一共就这么几句话和例子,不必长篇大论。
let更严格一些。
- 一、var变量,作用域是整个封闭函数 ;let变量,作用域是子块中。
- 看下面两个例子就行了。
-
二、var变量都会先初始化为undefined,不管你在它的作用域的哪里声明;let变量没有提前声明会报错。
要注意的一点,不管声明var变量的那个语句的条件是否满足,对变量var的声明都会执行,而且最先执行。
下左图的例子就是var a=100这个语句没满足条件,但是第一个console.log(a)输出了undefined.
下右图的例子我们没有声明a变量,则此程序直接报错,不执行。