分享更有价值
被信任是一种快乐

var、let及const的区别是什么

文章页正文上

这篇文章主要介绍了var、let及const的区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇var、let及const的区别是什么文章都会有所收获,下面我们一起来看看吧。 什么是JavaScript?首先,ECMAScript 和 JavaScript 什么关系?ECMAScript是一个国际通过的标准化脚本语言。JavaScript由ECMAScript和DOM、BOM三者组成。 可免费云主机、域名以简单理解为:ECMAScript是JavaScript的语言规范,JavaScript是ECMAScript的实现和扩展。var、let、const的区别?1. var声明变量存在变量提升,let和const不存在变量提升

console.log(a);//undefined===>a已声明还没赋值,默认得到undefined值
console.log(b);//报错:bisnotdefined===>找不到b这个变量
console.log(c);//报错:cisnotdefined===>找不到c这个变量
vara=100;	
letb=10;
constc=10;
console.log(a);//a=100

2. let和const只能在块作用域里访问

if(1){
vara=100;
letb=10;
constc=1;
}

console.log(a);//100
console.log(b)//报错:bisnotdefined===>找不到b这个变量
console.log(c)//报错:cisnotdefined===>找不到c这个变量

3. 同一作用域下let和const不能声明同名变量,而var可以

vara=100;
console.log(a);//控制台输出100

vara=10;
console.log(a);//控制台输出10

leta=100;
leta=10;

//控制台报错:Identifier'a'hasalreadybeendeclared===>标识符a已经被声明了。

4. const定义常量,而且不能修改,但是在定义的对象时对象属性值可以改变

consta=2
a=3
console.log(a)//控制台报错

constperson={
name:'make',
sex:'男'
}

person.name='test'

console.log(person.name)//运行发现控制台没有报错,且person.name被成功修改

????这是怎么回事呢?因为对象是引用类型的,person中保存的仅是对象的指针,而修改对象的属性不会改变对象的指针,所以这种情况就会修改成功。也就是说const定义的引用类型只要指针不发生改变,都是被允许的。接下来我们试着修改一下指针,让person指向一个新对象,最后果然报错

constperson={
name:'make',
sex:'男'}person={
name:'test',
sex:'男'}console.log(person.name)//控制台报错

5. 小结var定义的变量变量提升,没有块的概念,可以跨块访问。let定义的变量只能在块作用域里访问,不能声明同名变量。const用来定义常量,使用时必须初始化(即必须赋值),不能声明同名变量,只能在块作用域里访问,而且不能修改,但是在定义的对象时对象属性值可以改变。他们都不能跨函数访问关于“var、let及const的区别是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“var、let及const的区别是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注云技术行业资讯频道。

相关推荐: Node.js中怎么设置站点目录

这篇文章主要介绍“Node.js中怎么设置站点目录”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node.js中怎么设置站点目录”文章能帮助大家解决问题。 一、为什么需要设置站点目录在Web服务器中,站点目录是指Web…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册