let和var的区别
展开全部
let和var的区别如下:
在ES6之前,使用let声明的变量必须在全局作用域中,而使用var声明的变量则不会添加到window对象中。这是因为let声明的变量有块级作用域,必须在此块级作用域才能访问此变量。
与var声明的变量相比,var声明的变量有变量提升特性,而let声明则没有。同时,var可以允许重复声明相同的变量,而let则不能重复声明相同的变量。
var和let声明变量时的一些区别:
1、如果在全局作用域中用var声明变量,此变量会默认成为window的一个属性,let声明的变量则不会添加到window对象中。
2、在es6之前,是没有块级作用域,所谓块级作用域,就是用{}包含的区域,我们常用的有for,while,if等。但是在块级作用域中用let声明变量,那么此变量就有了块级作用域,就必须只有在此块级作用域才能访问此变量。
3、var声明的变量有变量提升特性,let声明则没有这个特性。变量提升:请点击:javascript中的变量提升的简单说明。
4、var可以允许重复声明相同的变量,后者会覆盖前者,let则不能重复声明相同的变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询