重复声明
经过了这么久,对声明变量应该差不多了解了,再加上之前了解的作用域
我们现在开始如果科学的使用重复声明
先复习一边(遍)作用域
var的作用域是全局
let、const的作用域是花括号
了解这点,那么科学使用重复声明就是合理使用作用域,来达到重复声明的效果,这里先pass掉var这个声明,它是全局声明,所以不存在重复声明没问题
(你使用var重复声明百分之百会产生全局污染而且在不开启严格模型下是不会报错的)
这是代码效果如下
是不会报错的
如果你使用let、const声明是会报错的
看到波浪线没,报错了,两套解决方案
第一套修改变量值
第二套,科学的使用重复声明(var除外)
给第二个声明添加一个花括号
哎,看到没,没有报错,这时花括号外面的值相当于一个var,花括号里面的值,不受外部影响
效果
合格的代码格式可以化解这些问题
例如我要声明全局都可以用时使——使用var声明
花括号里的使用let、const
小结
熟练使用,严格模式
"use strict"
通过块作用域或者函数作用域(还没接触)达到科学重复声明
本质上是保证它们在不同的作用域里,才能达到科学重复声明
虽然说不推荐用var,但是好看的代码格式还是挺有用的
(当然你开了严格模式也不会报错,但是它照样可以发现一下小问题,还是值得推荐的)