码迷,mamicode.com
首页 > Web开发 > 详细

JS中函数的词法作用域

时间:2016-10-18 22:52:41      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

在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中函数的词法作用域

标签:

原文地址:http://www.cnblogs.com/AlexCP/p/5975131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!