let、var、const
日常js一般使用var来定义变量,但是如果有多个人同时开发,就会发现,因为var的原因,会出现很多莫名其妙的问题。
var并没有变量作用域,var a = 0;这个在浏览器引擎会分为两句,var a和a = 0;
前面是声明,后面是赋值,什么部分会如老式c语言一样,提在最前面,赋值语句留在当前位置;
这样会在开发中产生很多莫名其妙的错误,所以在es6里面 引入新的声明方式 let
ES6 新增了let
命令,用来声明变量。它的用法类似于var
,但是所声明的变量,只在let
命令所在的代码块内有效。
let什么会守护变量,让非法使用变量的场景也会报错,而不是只是未定义
在日常开发中,循环最难以避免,但是如果大家都用i来for循环,最终会发现不知道i的大小的情况,
因为循环中 使用var什么上次如果用的i,这次还用i ,会影响i的大小