变量作用域
在其他语言中,任何一对花括号都是一个作用域,JS没有,JS只有函数作用域。
JS全局变量——在script和函数外定义的变量;未用Var声明的变量;
JS局部变量——在函数内定义的变量;
作用域链:单向,内部作用域能访问到外部作用域的变量,反之不行;
Var存在的问题:
1、存在变量提升;
2、不能定义常量,即变量可被多次赋值,后赋值的会覆盖先赋值的;
3、可以重复声明变量;
4、不存在块级作用域,会带来全局污染问题;
ES6中,新增let和const以解决上面这些问题;
let特点:
1、不存在变量提升;
2、存在块级作用域,防止全局污染;
const特点:
1、只能定义一次;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步