在JS中,变量声明有三种方式,他们分别是var、const和let。由于JS是弱语言类型,所以不像C/C++、Java等编译型语言一样要具体声明数据类型。
我们可以通过这三个关键字创建字符串变量"Dotcpp":
var s1 = 'Dotcpp' let s2 = 'Dotcpp' const s3 = 'Dotcpp'
我们可以把var和let归为一类,因为它们声明的变量都可以重新赋值;而const单独归为一类,原因在于const声明的变量不可以重新赋值。
在ES5之前,一直都是在使用var,但是使用var会隐藏很多潜在的问题,这里简单枚举3个重要问题:
1. 未声明却能使用,不符合编程习惯:
/*未声明却可以使用,不符合编程习惯*/ console.log(s) var s
2. 同一个变量可以被多次声明
/*重复声明变量而不报错*/ var s='Dotcpp' var s ='dotcpp.com' console.log(s)//后声明会进行值的覆盖,打印dotcpp.com
3. for循环参数污染外部作用域
/*控制台打印0和1*/
for(var i=0;i<2;++i)
{
console.log(i);
}
console.log(i);//这里会打印2!于是,在ES6时,引入了let和const来解决var声明变量的问题。所以我们强烈推荐读者使用let而不是var。
总结,用let声明变量,用let声明变量,用let声明变量!(重要的事情说三遍)
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程