作用域
作用域就是变量和函数的可访问范围,即作用域控制着变量和函数的可见性和生命周期
全局作用域:在全局范围内都可以访问到该变量
函数作用域:在函数内部可以访问到该变量
块级作用域:使用一对大括号包裹的一段代码,比如函数、判断语句、循环语句,甚至单独的一个{}都可以被看作是一个块级作用域。
变量提升所带来的问题
变量容易在不被察觉的情况下覆盖掉
function showName(){
console.log(myname);
if(0){
var myname = "极客邦"
}
console.log(myname);
}
showName()
本应销毁的变量没有销毁
for (var i = 0; i < 7; i++) {
}
console.log(i);
}
foo()
es6如何解决变量提升所带来的问题
通过引入let和const,这样就拥有了块级作用域。
此文章为10月Day012学习笔记,内容来源于极客时间《浏览器的原理与实践》,强烈推荐该课程