为什么推荐let而不是以前的var

现在很多编辑器在你使用var声明变量时,var下面会有浅色的波浪线提示,此时建议我们使用let来声明。为什么呢?(闲得无聊,码码字)

var 和let 的区别

因为var创建的变量是挂载在window顶级对象上面的,全局变量比较多的情况下通通都会挂载到window顶级对象上面,如果跟之前定义的对象重复则会改变之前定义的值,变量造成污染
  • var可重复声明一个变量,(改变变量之前定义的值);
  • let不可重复声明;
  • var定义变量会默认为全局变量,let则不会;
  • let作用域为块级,var会上升至函数级别;
  • 闭包,即引用自由变量的函数,如果函数内存在var,该引用会被记住,在一些循环操作里变量发生变化,会造成麻烦;而let每次会产生新的引用
  • 确保let在你的语法环境下允许被使用(es6语法)

vue之var和let声明变量相关推荐

  1. var let const声明变量的区别

    在js中定义变量的方式有三种,其中let和const关键字是来自ES6中的,下面将逐一介绍各个关键字声明变量的特点. var声明变量 var 是一个 JS关键字,用来声明变量( variable 变量 ...

  2. var,let,cont声明变量的区别

    1.var -支持全局.函数作用域 -接受重复声明 -变量预解析 // 作用域 var aa=1; function fn(){var aa=10;console.log(aa); } fn();// ...

  3. javascript 声明变量var、let、const详解及示例

    1. var.let.const概述 ES6发布前,Javascript只能通过var声明变量的方式,常量.块级变量.函数变量这些概念的差别都不能很好的体现出来,于此同时,加入你要使用或者提供一个ap ...

  4. JavaScript声明变量详解

    前言 如果文章中有出现纰漏.错误之处,还请看到的小伙伴多多指教,先行谢过 在ES5阶段,JavaScript 使用 var 和 function 来声明变量, ES6 中又添加了let.const.i ...

  5. php变量和js变量的区别吗,JS声明变量的3种方式和区别

    JavaScript 是弱类型语言,可以不需要声明变量而直接使用.这样虽然简单但不易发现变量名方面的错误,所以不建议这样做.通常的做法是在使用 JavaScript 变量前先声明变量.目前,JavaS ...

  6. var,let,const 声明中一般人不知道的几个点

    关于var,let,const 声明变量时,有几个特别注意的点,面试的时候极容易被问到,但是很多人特别容易说不清.let的作用域呀,暂时性死区,const作用域等. 文章目录 前言 一.小姐姐知道的l ...

  7. js声明php变量,vue.js怎样声明变量

    vue.js声明变量的方法:1.使用let定义,let是块级作用域,函数内部使用let定义后,对函数外部无影响:2.使用var定义,var定义的变量可以修改:3.使用const定义,const定义的变 ...

  8. 详解var、let、const关键词声明变量的区别,以及变量提升、块级作用域的认识等。

    首先回顾一下JavaScript中var声明变量的基础知识: • 在使用var关键词声明变量时,变量在函数外则是全局变量,有全局作用域,全局变量在页面关闭后销毁:变量在函数内则是局部变量,作用局部作用 ...

  9. ES6/06/ES6简介,ES6新增语法,let声明变量,const声明常量,var,let和const总结,数组解构,对象解构,箭头函数,剩余参数

    ES6简介 ES全称:ECMAScript ; 由ECMA国际化组织制定的标准脚本语言的标准化规范: 为什么使用ES6? 每一次标准的诞生都意味着语言的完善,功能的加强,JavaScript语言本身也 ...

最新文章

  1. 设计模式笔记之十四 (命令模式)
  2. Linux Shell 1/dev/null 21 含义
  3. 每日两句英语-7/7/2009
  4. android 分区layout以及虚拟内存布局-小结
  5. 我用的 cordova 插件
  6. 【网络安全】Nacos Client Yaml反序列化漏洞分析
  7. .NET设计模式(8):适配器模式(Adapter Pattern)
  8. python多线程返回值_python获取多线程及子线程的返回值
  9. 使用Cloud SQL的Google App Engine全文搜索
  10. 正式发布!鸿蒙,来了!
  11. mvc5 @html,如何在MVC 5中使用 HTML5 Viewer
  12. 【Eclipse】eclipse中设置tomcat启动时候的JVM参数
  13. 微信搜一搜产品团队:三大能力助力内容优质呈现、品牌精细增长、服务精准触达
  14. struts2 拦截器_Struts2令牌拦截器示例
  15. PowerShell在SharePoint 2010自动化部署中的应用(1)--代码获取
  16. 3dmax2020渲染器下载3dmax2020渲染器VRay4.2下载安装教程
  17. Google ----- 展示搜索的艺术!
  18. MySQL数据库创建表
  19. go语言 最近遇到的问题总结
  20. Pragma section

热门文章

  1. linux下激活窗口 qt_Qt激活窗口
  2. 大数据Spark实战第一集 导学
  3. airpods pro是按压还是触摸_Airpods Pro深度测评,给犹豫不决的你一些参考。
  4. spring boot 自定义@EnableXXX注解
  5. java版能播flac_Java中如何写FLAC文件实例
  6. 使用Labelimg打标签
  7. oracle ebs版本查看,Oracle EBS R12 - 如何取得EBS某个文件的版本号
  8. Ubuntu内网穿透搭建网站:设置跳转本地网页服务 6/17
  9. 千锋教育+计算机四级网络-计算机网络学习-02
  10. [转载]java抽取word,pdf的四种武器