JavaScript中var、let和const之间有哪些区别

了解JavaScript中var、let和const之间有哪些区别?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

成都创新互联专业为企事业单位提供成都网站建设公司、成都网站设计,网站优化、微信开发、手机网站建设、主机域名、虚拟空间、企业邮箱等互联网基础服务。公司2013年成立,我们先后签约上1000家中小型企业和科技发展公司的网站建设和网站推广项目。通过多年的创新发展,已发展成为专业能力较强,服务较好的建站公司。

区别:1、var变量是函数或全局作用域,let和const变量是块作用域;2、let和const变量受暂存死区的约束,var变量不受;3、var变量是可分配和声明的,letr变量是可分配、不可重新声明的,const变量则不可重新分配和声明。

1、const 语句

const 语句用来在 JavaScript 中声明一个变量,该变量遵守以下规则:

  • 是属于块作用域的。

  • 受到“暂存死区”的约束。

  • 它不会在 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=1
function 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=3
function change(){
let c = 6;
console.log('函数内let定义c:' + c);//输出c=6
}
change();
console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3

感谢各位的阅读!看完上述内容,你们对JavaScript中var、let和const之间有哪些区别大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。


本文标题:JavaScript中var、let和const之间有哪些区别
标题来源:http://myzitong.com/article/ipeddd.html