区别:1、var变量是函数或全局作用域,let和const变量是块作用域;2、let和const变量受暂存死区的约束,var变量不受;3、var变量是可分配和声明的,letr变量是可分配、不可重新声明的,const变量则不可重新分配和声明。
相关推荐:《javascript视频教程》
我们都知道在最新的 ES6 中,新添加了两个用于变量声明的关键字 let 和 const,那么这两个和我们以前经常使用的 var 有什么区别呢?今天我们就来看一下吧。
1、const 语句
const 语句用来在 JavaScript 中声明一个变量,该变量遵守以下规则:
立即学习“Java免费学习笔记(深入)”;
是属于块作用域的。
受到“暂存死区”的约束。
它不会在 window 上创建任何全局属性。
不可重新分配。
不可重新声明。
const 语句定义的变量不可以修改,而且必须初始化。
const b = 2;//正确// const b;//错误,必须初始化 console.log('函数外const定义b:' + b);//有输出值// b = 5;// console.log('函数外修改const定义b:' + b);//无法输出
登录后复制
2、var 语句
var 语句用来在 JavaScript 中声明一个变量,该变量遵守以下规则:
作用域范围是函数作用域或全局作用域的。
不受暂存死区(TDZ)的限制。
它会在 window 上以相同的名称创建一个全局属性。
是可重新分配的。
是可重新声明的。
var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
var a = 1;// var a;//不会报错console.log('函数外var定义a:' + a);//可以输出a=1function change(){a = 4;console.log('函数内var定义a:' + a);//可以输出a=4}change();console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4
登录后复制
3、let 语句
let 语句在 JavaScript 中声明一个变量,该变量遵守以下规则:
属于块作用域。
受到暂存死区的约束。
它不会在 window 上创建任何全局属性。
是可分配的。
不可重新声明。
let属于块级作用域,函数内部使用let定义后,对函数外部无影响。
let c = 3;console.log('函数外let定义c:' + c);//输出c=3function change(){let c = 6;console.log('函数内let定义c:' + c);//输出c=6}change();console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3
登录后复制
更多编程相关知识,请访问:编程入门!!
以上就是JavaScript中var、let和const之间有什么区别?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2721334.html