JS中const、var 和let的区别

今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章。主要内容是:js中三种定义变量的方式const, var, let的区别。

1.const定义的变量不可以修改,而且必须初始化。

1 const b = 2;//正确
2 // const b;//错误,必须初始化 
3 console.log('函数外const定义b:' + b);//有输出值
4 // b = 5;
5 // console.log('函数外修改const定义b:' + b);//无法输出 

2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。

1 var a = 1;
2 // var a;//不会报错
3 console.log('函数外var定义a:' + a);//可以输出a=1
4 function change(){
5 a = 4;
6 console.log('函数内var定义a:' + a);//可以输出a=4
7 } 
8 change();
9 console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4

3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。

1 let c = 3;
2 console.log('函数外let定义c:' + c);//输出c=3
3 function change(){
4 let c = 6;
5 console.log('函数内let定义c:' + c);//输出c=6
6 } 
7 change();
8 console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏happyJared

Python中的is和==以及字符串驻留机制

  先了解下官方文档中关于 is 和 == 的概念。is 表示的是对象标示符(object identity),而 == 表示的是相等(equality);is...

11710
来自专栏王磊的博客

javascript中Array的操作

concat(组合数组) join(数组转字符串) pop(删除最后一个元素) shift(删除第一个元素) push(在数组尾部添加新元素) unshift(...

28580
来自专栏mathor

枚举+优化(7)——前缀和1

18170
来自专栏我是业余自学C/C++的

redis_3.0.7_sds.c_sdscatlen()

26140
来自专栏猿人谷

静态成员函数和非静态成员函数的区别?

一个静态成员函数不与任何对象相联系,故不能对非静态成员进行默认访问。 它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针t...

23590
来自专栏猿人谷

C++ STL疑惑知识点

 1.remove的问题 ? ? 参考:http://zhidao.baidu.com/question/458494170.html 2.用find搜索数组中...

25490
来自专栏林冠宏的技术文章

C/C++ char a[ ] 和 char *a 的差别,改变 char *a爆内存错误的原因

对于一些需要传入参数为 char * temp 指针类的函数; 我们定义一个 char a[10] 或char *a 传进去都是可以的。 但是, 如果该函数是会...

196100
来自专栏python百例

92-re模块基础用法

16620
来自专栏十月梦想

函数的return(返回值)

return之后,函数就停止,return之后的语句将不执行,但是php也不会报错。

12230
来自专栏鸿的学习笔记

python的函数

在python里的lambda表达式只能使用纯表达式,除非像pyspark那样重载了。

12920

扫码关注云+社区

领取腾讯云代金券