JavaScript—var lef const区别
今天刚刚学JavaScript 因为以前学过。学起来也就轻松。今天在练习。流程控制语句的时候,用WebStrom 写的时候 var 声明变量的时候 下面老是有一条白线。开始以为是开发环境有问题 然后,我就各种百度查。后来查到ECMAscript 6(es6) 之前学的时候肯本不知道。就简单看了一下。主要用来规范JavaScript(JS用的越来越强大)
地址:http://es6.ruanyifeng.com/#docs/let
然后我看了下 JS 提升机制(hoisting) 然后为了解决这个带来的一些麻烦 就出来的闭包
js里面自带很多bug
比如
这就是一个BUG 我也不太明白。
然后把VAR改成let
问题就解决了
至于Lef 和const:
const 和 let 的作用域是一致的,不同的是 const 变量一旦被赋值,就不能再改变了
总结:
大多数情况下都使用 const,除非你知道你的变量的值还会被改变,这样的话,别人阅读你的代码不用老想着这个变量的值会不会有改变。如果这个变量的值的确需要改变,例如在 for 循环里面和需要改变的,那么就是用 let。这也同时意味着你以后就不要用 var 了。
时代在进步 代码也在规范。一切都是为了 以后更好
转载于:https://www.cnblogs.com/ruogu/p/10738373.html
JavaScript—var lef const区别相关推荐
- ES6学习(var,let,const区别)
本人写这个专题的博客是为了总结一下自己学习,使用还有刷题时学到的ES6知识点,并做以归纳. var,let,const 三个属性都可以声明变量. 作用域 var 重新赋值,重新定义变量,可以重复声明 ...
- 在vue中let var 和const 区别
let和const 使用方法: (1).有没有感觉到在 javascript 使用var会发生变量提升,即脚本开始运行时, 变量已经存在了,但是没有值,所以会输出undefined. 而 ...
- “约见”面试官系列之常见面试题之第七十一篇之let和var和const区别(建议收藏)
**!**let /var定义变量 1,let 不具有变量提升,具有块级作用域,不允许重复定义 let定义的变量是块级的变量.使用 let 声明的变量,在声明前无法使用,否则将会导致错误:如果未在 l ...
- var let const 区别
var变量提升 重复声明,顶层(window)属性,全局作用域和函数作用域 let 无提升,不能重复声明,不作为window属性,全局作用域和块级作用域({})暂时性死区(TDZ,同作用域下先声明,再 ...
- JavaScript重难点解析1(数据类型——var、let、const区别,类型补充,“===”、“typeof”、“instanceof”区别,Symbol数据类型)
JavaScript重难点解析1(数据类型) var.let.const区别: 类型补充 "==="."typeof"."instanceof&quo ...
- 前端开发:JS中let、var和const的区别详解
前言 前端开发过程中,JS声明变量的关键字想必开发者都不陌生,而且使用的频率在前端开发过程中也是数一数二的.JS中声明变量的关键字有三个let.var和const,但是三者的使用对比和区别也是非常重要 ...
- Var let const 的区别
Var let const 的区别 变量提升 var 存在变量提升 变量可以在声明之前调用 但是值为undefined. let ,const 不存在变量提升.他们声明的变量必须在声明后调用 如果在之 ...
- var和let、const区别
let和var都可以定义变量,而const定义的是常量 const a=123//无法更改值a = 1234 // 这时会报错,因为const定义的是常量 不可更改console.log(a) con ...
- ES6 | let、const以及与var之间的区别
目录 一.let 1.声明变量 2.块儿级作用域 3.不存在变量提升 4.不影响作用域链 二.const 1.声明常量 2.一般常量使用大写(潜规则) 3.常量的值不能修改 4.块儿级作用域(cons ...
- var/let/const、块级作用域、TDZ、变量提升
概览 ES6 新增了两个定义变量的关键字:let 与 const,它们几乎取代了 ES5 定义变量的方式:var.let是新的var,const简单的常量声明. function f() {{let ...
最新文章
- 获取AFP共享的文件夹及其权限
- python参考手册 豆瓣_python之父亲自撰写两年后豆瓣评分9.8《python深度学习》PDF分享...
- Linux环境下压缩与解压命令大全
- Web程序员的Mysql进阶序一之sql使用分类及基础
- 调整标志位方法oracle,面试题(二)(示例代码)
- 【BZOJ2229】【ZJOI2011】最小割
- Bare HTTP不完全是RESTful
- 在visual studio2015中使用easyX画图
- 使用 Kubernetes 和 Kubeflow 扩展对象检测
- linux系统有界面么,linux系统界面详情介绍
- oracle查看定时任务
- matplotlib柱状图之子柱状图不同颜色—20种颜色列表
- 深度学习-吴恩达 作业 Tensorflow环境部署
- GR-MnO2 石墨烯修饰纳米二氧化锰/CD-MnO2碳点修饰二氧化锰复合材料/CMSs@MnO2碳微球包覆二氧化锰
- VBA基础知识整理(字典,自定义函数)
- python中seaborn是什么_Python-Seaborn绘图(matplotlib补充)
- 【爬虫】每天定时爬取网页小故事并发送至指定邮箱
- 多方面了解WLAN和WIFI的区别
- 009 简单的渗透测试流程
- windows USB读卡器驱动详解