位置:- 正文

作用域和作用域链(作用域和作用域链的理解)

编辑:rootadmin
作用域和作用域链 文章目录1.作用域(Scope)1.1 什么是作用域1.2 全局作用域1.3 函数作用域1.3 块级作用域2. 作用域链2.1 自由变量2.2 作用域链2.3 *自由变量的取值2.4 作用域与执行上下文的区别3.总结1.作用域(Scope)1.1 什么是作用域

推荐整理分享作用域和作用域链(作用域和作用域链的理解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:作用域和作用域链,作用域的作用,作用域和作用域的区别,作用域和作用域链面试题,作用域和作用域链是什么,作用域和作用域链面试题,作用域和作用域链的理解,作用域和作用域链面试题,内容如对您有帮助,希望把文章链接给更多的朋友!

作用域和作用域链(作用域和作用域链的理解)

当前的执行上下文,值和表达式在其中“可见”或可被访问。

作用域就是一个独立的地盘,让变量不会外泄、暴露出去。作用域最大的用处就是隔离变量,不同作用域下的同名变量不会有冲突。

ES6之前JavaScript,没有块级作用域,只有全局作用域和函数作用域。ES6的到来,为我们提供了“块级作用域”,可通过let和const来体现。

1.2 全局作用域

在代码中任何地方都能访问到的对象拥有全局作用域。 以下三种情况拥有全局作用域:

最外层函数和在最外层函数外面定义的变量拥有全局作用域var outVariable = "我是最外层变量"; //最外层变量function outFun() { //最外层函数 var inVariable = "内层变量"; function innerFun() { //内层函数 console.log(inVariable); } innerFun();}console.log(outVariable); //可以访问: 我是最外层变量outFun(); //可以访问: 内层变量console.log(inVariable); //无法访问: inVariable is not definedinnerFun(); //无法访问: innerFun is not defined所有未定义直接赋值的变量自动
本文链接地址:https://www.jiuchutong.com/zhishi/299922.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/299923.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络