<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 作用域链 // 每一个函数都有一个作用域, 如果一个函数内部又嵌套链另外一个函数, // 嵌套的函数也会又一个作用域,这样,嵌套函数就能访问到外部函数中的变量, // 以及全局作用域中的变量,此时就形成了一条作用域链 // (包括:自身的作用域, 以及外部函数的作用域, 以及全局作用域) // 全局作用域: script标签包裹的内容就是一个作用域 var abc = 123; // fn 中能访问到的变量由那些: // 1 自身定义的变量 // 2 上一级作用域中的变量(全局作用域) // foo 中能访问到的变量由那些: // 1 自身定义的变量 // 2 函数fn中的变量 // 3 全局作用域中的变量 function fn() { var a = 456; function foo() { var num = 123; // f的作用域链: f作用域 -> foo作用域 -> fn作用域 -> 全局作用域 function f() {} } foo(); // console.log(num); } </script> </body> </html>
时间: 2024-10-14 19:51:13