资讯专栏INFORMATION COLUMN

关于var,let,const的那点事

KavenFan / 3386人阅读

摘要:一直使用定义变量,的出现给变量定义增加了两个大将,。声明的变量,块作用域,不重复声明覆盖,限制了变量的作用域,保证变量不会去污染全局变量,所以尽量将改为用。

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

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

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

主要是比较一下var和let的使用;

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循环内:0,for循环内:1;
第三个console输出for循环外:2;
第二个console输出undefined;
alert输出undefined;

3、let关键字定义

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81631.html

相关文章

  • 关于性能优化的那点事——函数节流

    摘要:函数节流背景中的函数大多数情况下都是由用户主动调用触发的除非是函数本身的实现不合理否则一般不会遇到跟性能相关的问题但在少数情况下函数的触发不是由用户直接控制的在这些场景下函数可能被非常频繁调用而造成大的性能问题场景事件事件滚动事件共同的特征 函数节流 背景 javascript中的函数大多数情况下都是由用户主动调用触发的, 除非是函数本身的实现不合理, 否则一般不会遇到跟性能相关的问题...

    khlbat 评论0 收藏0
  • 关于性能优化的那点事——函数防抖

    摘要:函数防抖场景假设网站有个搜索框用户输入文本我们会自动联想匹配出一些结果供用户选择我们可能首先想到的做法就是监听事件然后异步查询结果但是如果用户快速的输入了一串字符假设是个字符那么就会在瞬间触发次请求这无疑不是我们想要的我们想要的是用户停止输 函数防抖 场景 假设网站有个搜索框, 用户输入文本我们会自动联想匹配出一些结果供用户选择,我们可能首先想到的做法就是监听keypress事件, 然...

    Stardustsky 评论0 收藏0
  • 关于localStorage面试的那点事

    摘要:已经超出本地存储限定大小可进行超出限定大小之后的操作,如下面可以先清除记录,再次保存面试官一波素质三连对于只是会使用的同学来说,肯定是不得其解的。 最近面试的时候关于html5API总会被问到localStorage的问题, 对于一般的问题很简单,无非就是 localStorage、sessionStorage和cookie这三个客户端缓存的区别 localStorage的API,g...

    timger 评论0 收藏0
  • 关于性能优化的那点事——BigRender首屏渲染优化

    摘要:首屏渲染优化背景一个庞大的页面有时我们并不会滚动去看下面的内容这样就造成了非首屏部分的渲染这些无用的渲染不仅包括图片还包括其他元素甚至一些某些根据模块请求比如理论上每增加一个都会增加渲染的时间并且影响着页面打开的加载速度这时就需要一种办法使 BigRender首屏渲染优化 背景 一个庞大的页面, 有时我们并不会滚动去看下面的内容, 这样就造成了非首屏部分的渲染, 这些无用的渲染不仅包括...

    Markxu 评论0 收藏0
  • SPA那点事

    摘要:单页面应用的出现依然存在着争议性,我们该如何看待他的两面性呢接下来小生给大家总结一下他的优缺点。单页面应用的优势无刷新体验没有了令人诟病的页面频繁刷新,同时节约浏览器资源,路由响应比较及时,提升了用户的体验。 前端猿一天不学习就没饭吃了,后端猿三天不学习仍旧有白米饭摆于桌前。IT行业的快速发展一直在推动着前端技术栈在不断地更新换代,前端的发展成了互联网时代的一个缩影。而单页面应用的发展...

    PumpkinDylan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<