作用域及作用域链

本文深入探讨了JavaScript中的作用域链以及变量查找机制。通过示例代码展示了函数内部如何访问外部变量,并解释了作用域链的工作原理,强调了在函数内部定义的函数可以形成一个从内到外的作用域链。同时,介绍了作用域链对于变量查找的重要性,当在当前作用域找不到变量时,会沿着作用域链向上查找,直至全局作用域。最后,阐述了作用域链的概念及其在代码组织和执行中的关键角色。
摘要由CSDN通过智能技术生成
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <script>
 9             var a=1;
10             function f1(){
11                 function f2(){
12                     function f3(){
13                         console.log(a)
14                     }
15                     f3();
16                 }
17                 f2();
18             }
19             f1();
20             
21             var a=3;
22             function f1(){
23                 var a=6;
24                 function f2(){
25                     var a=5;
26                     function f3(){
27                         var a=4;
28                         /*当函数中使用给某个变量时,优先在自己的作用域中查找
29                         如果找不到就会向上一层作用域查找
30                         如果找不到继续往上一层查找,直到全局作用域
31                         如果还找不到直接报错
32                         这就是→作用域链*/
33                         console.log(a)
34                     }
35                     f3();
36                 }
37                 f2();
38             }
39             f1();
40             
41             /*
42             只有函数可以制造作用域结构,那么只要是代码.就至少有一个作用域,凡是代码中有函数,那么这个函数就构成另一个作用域.如果函数中还有函数,
那么这个函数中就又可以诞生一个作用域. 43 将这样的所有的作用域列出来,可以有一个结构:函数内指向函数外的链式结构.就称作作用域链. 44 */ 45 </script> 46 </body> 47 </html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值