关于变量声明的var,let,const
在js中,用var声明的话,在同一个作用域的范围内会存在声明提前的情况,举个例子:
按常理来说,我们此时需要的b应该输出的是 not defined 才对,但是实际上并没有,因为var b在判断之前已经声明了,在判断之后只是进行了赋值的操作而已。
用var声明在同一个作用域内是可以进行重复声明,浏览器并不会报错;
但是用let和const声明变量的话,在同一个作用域内是不允许重复声明,重复声明会告诉你该变量已经存在了,
必须是先定义再使用,不存在声明t提前这回事;
有着严格的作用域,声明的变量只能在当前的作用域内使用,而且存在了块级作用域(带有{}的代码块)。通常在for,if 这些里面用var 声明变量,该变量的作用域不止只属于当前的
的块级作用域,当然在js中是不存在块级作用域的,但是用let和cont,会把代码块当做一个块级作用域,对于变量的管理起到了很好的作用;
const
其中const 声明的是一个只读的常量,而且一旦声明,常量的值就不能改变,使用const的声明的同时必须赋值,不然会报错
推荐es6的入门书 阮一峰的《ES6标准入门》
转载于:https://www.cnblogs.com/huangmei/p/7285856.html
关于变量声明的var,let,const相关推荐
- 关于ECMAScript6 的学习01-ES6 的六种变量声明方式===关于常量const
const 变量声明常量 在声明const 时,必须初始化 否则会出错 const 变量与let 变量类似 作用域同样在{} 的范围内. 也不可以在同一作用域内声明两个同名 const 变量 ...
- php变量 声明提升,TypeScript:let和const变量声明
在开始介绍let和const变量声明前,有必要先了解下JavaScript里的var变量声明. var变量声明 全局声明 var声明在函数体外,所声明的变量为全局变量.var name = " ...
- vue 访问 const 变量_var与let、const的区别
最近在学习VUE时,视频的项目在创建一个变量时经常用Const来创建,再此之前我一直使用var来创建一个变量,通过查阅资料得到以下解释: 一,var声明变量存在变量提升,let和const不存在变量提 ...
- 必须声明标量变量 @sum_level。_ES6系列—新的变量声明方式
在ES5中,变量声明只有var和function以及隐式声明三种,在ES6中则增加了let.const.import和class四种. 1. let 1.1 块级作用域 let声明的变量的作用域是块级 ...
- Go 基本语法之变量声明
目录 一.Go 语言的变量声明方法 1. 省略类型信息的声明 2. 短变量声明 二.包级变量 && 局部变量的声明形式 1.包级变量的声明形式 2.局部变量的声明形式 学习静态语言有别 ...
- var let const声明变量的区别
在js中定义变量的方式有三种,其中let和const关键字是来自ES6中的,下面将逐一介绍各个关键字声明变量的特点. var声明变量 var 是一个 JS关键字,用来声明变量( variable 变量 ...
- JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
JavaScript:学习笔记(7)--VAR.LET.CONST三种变量声明的区别 ES2015(ES6)带来了许多闪亮的新功能,自2017年以来,许多JavaScript开发人员已经熟悉并开始使用 ...
- JavaScript 变量声明详解: var, let, const
JavaScript 中,可以声明变量的关键字有 var.let和const. var 使用 var 定义变量,可以保存任何类型的值.若不初始化变量,变量会保存 undefined. 1. 函数级作用 ...
- python中声明变量 var_声明变量的方法 var、let、const
简介 "变量提升"意味着变量和函数的声明会在物理层面移动到代码的最前面,但这么说并不准确. 实际上变量和函数声明在代码里的位置是不会动的,而是在编译阶段被放入内存中. 声明变量的方 ...
- TypeScript学习(2)-变量声明 var let const
let.const是js中新的变量声明方式,es5,es6新版本的js语言规范出来的定义,弥补了var的缺陷.const是对let的一个增强,不允许对一个变量再次赋值,一般用于常量. 使用var声明的 ...
最新文章
- 性能优化之Java多线程批量拆分List导入数据库
- 2013年十大IT发展趋势预测
- Gnuplot使用x11终端自动注销问题
- 异步Socket通信总结[转]
- 高人对libsvm的经典总结(全面至极)
- 拿下编程界的奥林匹克世界冠军,22岁的她加入了华为
- 揭开SAP Fiori编程模型规范里注解的神秘面纱 - @ObjectModel
- 六级范文背诵50篇_清华附小校长:小学生日记写作训练,附经典范文50篇,家长收藏...
- 海南大学植物代谢组学技术开发与创新应用课题组博士后招聘
- 数据交互什么意思_学习编程怎么样才可以不枯燥?什么是前端语言?
- 惠达卫浴引入USB服务器远程管控网银U盾
- Springboot 之 使用POI读取解析Excel文件
- win8配置JDK1.8环境变量
- android 设置来电铃声
- 电源的环路补偿、功率级补偿、Vout的波形对应的响应速度-运放环路补偿
- 2000字精华总结,安利一个超好用的 Python 数据分析神器
- 英特尔酷睿处理器后面的数字和字母含义
- 最简单DIY基于ESP8266的智能彩灯②(在网页用按键和滑动条控制RGB灯)
- linux下常用拷贝命令
- 度量空间的完备化定理
热门文章
- DB2 导入CSV文件
- Python3_tuple
- 【Linux学习010】算数运算、文件测试、字符测试、位置变量和特殊变量
- 数据库--Oracle
- 清除zencart分类页多页后面的disp_order sort字符串的方法
- Diameter协议学习笔记一(协议介绍)
- 标号1-n的n个人首尾相接,1到3报数,报到3的退出,求最后一个人的标号
- Android lint工具 检查的常见问题
- oracle 模式_Oracle实验--insert /*+APPEND*/与insert不同模式下产生redo大小
- python怎么用input输入列表_Python - 根据列表内容验证用户输入的最佳方法是什么?...