关于var,let,const的那点事

发布时间:2019-08-10 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了关于var,let,const的那点事脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

一直使用var定义变量,ES6的出现给变量定义增加了两个大将letconst。那它们有什么区别呢。

1、const关键字
它的作用就是定义一个常量,一旦定义无法更改,不能重复声明覆盖;

clipboard.png

const一般在require一个模块的时候用或者定义一些全局常量。

主要是比较一下varlet的使用;

2、VAR 关键字定义

function test(){
    for(var i=0;i<2;i++){
         console.LOG('for循环内:'+i);
    }
    console.log(j);
    alert(j);
    console.log('for循环外:'+i);
    var j='hi';
}
test();
第一个for循环里的console输出for循环内:0for循环内:1;
第三个console输出for循环外:2;
第二个console输出undefined;
alert输出undefined;

3、let关键字定义

clipboard.png

第一个for循环里的console输出for循环内:0for循环内:1;
第三个console输出 i is not defined,报错啦;
第二个console输出 空
alert(j)输出undefined。

比较后发现,
var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象;
let声明的变量,其作用域为该语句所在的代码块内,且不能重复声明覆盖;
很多人说let有没有变量提升的作用,但是上面测试的例子,console输出空,alert输出undefined,都没有报error,所以对于let声明变量提升的问题,暂时保留怀疑。
let 声明的变量,块作用域,不重复声明覆盖,限制了变量的作用域,保证变量不会去污染全局变量,所以尽量将var改为let

脚本宝典总结

以上是脚本宝典为你收集整理的关于var,let,const的那点事全部内容,希望文章能够帮你解决关于var,let,const的那点事所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。