JS中函数的词法作用域
Posted 李坚doit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中函数的词法作用域相关的知识,希望对你有一定的参考价值。
在javascript中,每一个函数都拥有自己的词法作用域。简单理解就是,每个函数在被定义(注意不是调用!)时,都会创建一个属于自己的环境(作用域)。
比如,
function foo(){ var a = 1;
foo2(); } function foo2(){ console.log(a); }
fon();
运行结果:
ReferenceError: fon is not defined.
因为,函数foo2在被定义时,它可以访问的环境只有全局作用域和它自己的函数作用域,并不能访问到函数foo中的变量a。
当调用函数foo时,会执行foo2,此时的foo2会在它的自发作用域中找a,由于并不能找到变量a,所以系统就会报错了。
以上是关于JS中函数的词法作用域的主要内容,如果未能解决你的问题,请参考以下文章