函数本身的作用域
作者:互联网
js运行时,变量的查找规则,是先从当前作用域查找,如果无,一直向上层作用域查找。
所以对于了解js运行时变量所在的作用域非常关键。
这里要说的是函数自身的作用域。
函数本身是一个值,它和其他变量一样,有自己的作用域。函数自身的作用域就是声明时所在的作用域。
与函数运行时位置无关。
函数内部调用外部声明的函数
<script> var a = 1; var x = function () { console.log(a); // 查找变量a, a的当前作用域是函数本身的作用域, // 函数本身的作用域是函数声明时所在的作用域, // 声明时,作用域绑定在外面,a的值是1 }; function f() { var a = 2; x(); } f() // 1 </script>
外部调用函数内部声明的函数
<script> function foo() { var a = 100; function bar() { console.log(a) } return bar; } var a = 200; var f = foo(); f(); // 100 其实是个闭包 </script>
标签:function,函数,作用域,本身,查找,var,声明 来源: https://www.cnblogs.com/lyraLee/p/11614518.html