1.const定义的变量不可以修改,并且必须要初始化
1 2 3 4 | <script> const a; console.log(a); </script> |
以上写法是不正确的,没有初始化,
1 2 3 4 | <script> const a = 1; console.log(a); </script> |
以上写法会输出值1,
1 2 3 4 5 | <script> const a = 1; a = 2; console.log(a); </script> |
以上会出现错误,如图:
2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错,
1 2 3 4 | <script> var a; console.log(a); </script> |
结果如下:
1 2 3 4 5 6 7 8 | <script> var a = 1; function s(){ var a = 3; console.log(a); } s(); </script> |
结果如下:
3.let是块级作用域,函数内部使用let定义后,对函数外部没有什么影响
1 2 3 4 5 6 7 8 9 10 | <script> let a = 3; console.log(a) function s(){ let a = 1; console.log(a); } s() console.log(a) </script> |
以上结果运行如下图: