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>
作用域及作用域链
2022/9/4 18:38:18
