一、为什么要用let,const来替代var呢?
var具有的特点:
1、变量提升
2、可以重复定义
3、没有块级作用域的概念
let和const的特点:
let——
定义变量;
无变量提升;
有块级作用域;
不允许重复命名
const——
定义常量,
不允许重新赋值,
有块级作用域;
不允许重复命名
首先记住如何使用——先用const,需要变量更改用let
然后思考为什么var的特点不够好呢?首先是我的理解:
a.方便多人开发(因为——如果‘重复定义被允许’,那么多人开发时,后面的人因为不知道前边定义过哪些变量,然后定义了一个同名的,就会覆盖掉前面的,从而对前面的代码执行有影响);
b.块级作用域,可以使得变量隔离,互不影响,更清晰,解决一些for循环中的常见问题;
c.变量提升的的写法不够规范,可以在使用后进行定义和赋值,不够规范;