我看的是js高级程序设计第四版,前两章快速了解了一下,第三章开始慢啃,虽然内容枯燥,很多东西自己也知道了,但还是有一些收获的。
比如,声明变量的三个关键词:var、let、const;var以前经常用但是会出问题,相比let没有那么严谨(var声明范围函数作用域,而let声明范围块级作用域)。
看个例子:
这是var关键字
if (true) { var name = 'Matt'; console.log(name); // Matt } console.log(name); // Matt
这是let关键字
if(true){ let name='Matt'; console.log(name);//Matt } console.log(name);//name没有定义
相比之下,let更具有严谨性,不然写一个比较复杂的项目,自己不注意关键字的选取,导致细节上的错误,还不容易找到bug。
另一个主要区别是:var在声明的变量在作用域中会提升,而let关键字则不会。
栗子:
// name 会被提升 console.log(name); // undefined var name = 'Matt'; // age 不会被提升 console.log(age); // ReferenceError:age 没有定义 let age = 26;
标签:Matt,console,name,11.16,JavaScript,let,var,log From: https://www.cnblogs.com/katyjohn/p/17837243.html