一个变量在声明时没有使用任何let,const,它就会被默认为全局变量。 在一个函数中,只有这个函数被调用时,这个变量才被创建,并且是全局变量。
`let a = 2;
function x () {
b = 1;
a++;
return a;
}
=> b
=> b is not defined
=> x()
=> 3
=> b
=> 1`
尽量将全局变量数量降到最低,因为如果有两个人同时在同一个脚本的不同函数中使用相同的全局变量,将会导致不可预测的结果和难以察觉的bug。
函数域优于全局域