声明变量的三大关键字:
var
let
const

三者的区别:
1.var是在ES5中用于声明变量的关键字。var在局部环境中声明的是局部变量,在全局环境中声明的是全局变量(相当于不用var)。

var a = 0;   //  相当于 a = 0 ,在全局作用域下声明了一个变量a并赋值0。
function fun(){var a = 0;  //  在fun函数作用域中声明了一个变量a并赋值;在函数外部无法访问,且与函数外部的变量a不为同一个变量,互不干扰。console.log(a);
}
a = 2;  //  修改全局变量a的值
fun();  //  输出0;

2.let是ES6中用于声明变量的关键字。let声明的是局部变量,它所声明的变量只在let命令所在的代码块内有效。

for(let i = 0;i < 10;i++){console.log(i);   //  正常循环输出i值
}

for循环没有独立的作用域,如果括号中用var声明i变量,那么i就是全局变量,而用let声明的是局部变量,在for语句外部无法访问:

for(let i = 0;i < 10;i++){   console.log(i);  //  正常循环输出i值}
console.log(i);  //  代码块外部取不到i值

3.const声明的是一个常量,本质为一个内存地址,指向堆内存中的一个对象。

const a = 0;  //  用const声明变量a后一定要赋值,且赋值后不能修改。

注意:和let一样,const声明的是局部变量,只在其声明的代码块内有效。

var,let和const相关推荐

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

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

  2. JS红书宝--var,let和const声明变量

    var,let和const声明变量 var 声明 var声明作用域 function test() { var message = "hi"; // 局部变量 } test(); ...

  3. js中定义变量之②var let const的区别

    var 上一篇文章有讲过,是js定义变量的关键词. 但是在es6中,新添加了两个关键词,用于变量声明的关键词:let 和const 接下来就说一下var let 和const的区别: 首先说var 用 ...

  4. javascript中var、let、const声明的区别

    我在上一篇文章javascript中词法环境.领域.执行上下文以及作业详解中的最后稍微提到了有关var.let.const声明的区别,在本篇中我会重点来分析它们之间到底有什么不同. 提到var.let ...

  5. uniapp 获取到js文件var一个变量怎么获取到这个变量值_浅析Js中const,let,var的区别及作用域...

    理解:let变量的作用域只能在当前函数中 js中const,let,var的区别及作用域_lianzhang861的博客-CSDN博客​blog.csdn.net 全局作用域中,用 const 和 l ...

  6. ES6——let、const和var的用法和区别

    ES6 新增了let命令,用来声明变量,新增了const命令,用来声明常量,它们的用法类似于var. let a = 1; var b = 2; const PI = 3.14; 主要区别 块级作用域 ...

  7. Var,Let和Const –有什么区别?

    A lot of shiny new features came out with ES2015 (ES6). And now, since it's 2020, it's assumed that ...

  8. var和let和const_用故事讲解JavaScript的var,let和const变量

    var和let和const by Prarthana S. Sannamani 通过Prarthana S.Sannamani 用故事讲解JavaScript的var,let和const变量 (Jav ...

  9. 犀牛书第七版学习笔记:let、const和 var 声明与赋值

    目录 0.基本常识 0.1变量与常量 0.2 作用域scope 0.3 重复声明 1.var 1.1 var声明作用域 var Declaration Scope 函数作用域 全局var声明 1.2 ...

  10. 复习es6-let和const

    1.声明变量的方法 es5 : var   function es6 : var   function   let    const   class 2.let(const)与var 不同 let不能 ...

最新文章

  1. Cell:基因表达的改变和群落的更替塑造了全球海洋宏转录组
  2. CodeForces - 261B Maxim and Restaurant
  3. [NOIP模拟测试3] 建造游乐园 题解(欧拉图性质)
  4. 关系数据库——关系数据语言
  5. c语言程序设计臧,清华大学出版社-图书详情-《C程序设计基础(第2版)》
  6. Python SHA1加密算法
  7. mysql使用技巧,使用Mysql的小技巧总结
  8. c函数strstr和sscanf组合高级技巧
  9. C++编程语言中sizeof和strlen介绍
  10. 北理乐学c语言基础答案晕,北理乐学C语言答案最新.doc
  11. 【元胞自动机】基于元胞自动机模拟和改进遗传算法的动态网络分配模型分析matlab仿真
  12. 怎么制作GIF图片并添加文字
  13. 懒人精灵新版图色工具介绍
  14. win11资源管理器总是自动重启的解决方法
  15. 2020云栖大会-达摩院
  16. 静态化freemarker,分布式文件系统minIO
  17. 显示隐藏图片html,JavaScript实现显示和隐藏图片
  18. 用互动的方式打开“11月全国气象短视频(快手、抖音)影响力榜单“
  19. Linux 块设备层中的Multi-queue分析
  20. 事务Read Committed (读已提交)和Repeatable Read(可重复读)到底什么区别?

热门文章

  1. ubuntu qt编译mysql报错_[Linux]QT编译Mysql驱动(Mariadb驱动),解决qmake报错问题
  2. 关于嵌入式的技术竞争力需要花点时间整理一下给大家
  3. ffmpeg截取视频流、rtsp录mp4,与海思NVR,内存问题
  4. 两个PDF比较标出差异_PDF最全接触
  5. 转:AIX菜鸟成长日志
  6. mysql myisam表分区_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
  7. unable to infer tagged configuration编译报错
  8. 嵌入式芯片加密防抄板技巧简析
  9. Steering Behaviors
  10. es中should查询使用注意