这篇文章主要介绍了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中怎么设置站点目录”文章能帮助大家解决问题。 一、为什么需要设置站点目录在Web服务器中,站点目录是指Web…