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

js词法作用域

时间:2017-02-11 18:54:02      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:class   pre   foo   分析   var   动态   同时存在   win   cti   

词法作用域就是说在词法分析的时候就已经形成了的作用域。这个时候已经定死了。如果一个函数在全局里面声明了,她的父级作用域就是全局作用域。一个函数的作用域只有可能存在于一个父级作用域里面。不会同时存在两个父级作用域。

 var a = 2;
function foo() {
    console.log( a );
    console.log(this.a);
    console.log(this);
}
function bar() {
    var a = 3;
    foo();
}
bar(); //2. 2. window

而如果是动态作用域的话,不关心在哪里声明的,只关心他是在哪里调用的。动态作用域是基于调用栈的。而不是代码中的嵌套关系。js中this就是与函数在哪里调用有关。

js词法作用域

标签:class   pre   foo   分析   var   动态   同时存在   win   cti   

原文地址:http://www.cnblogs.com/zhuni/p/6389504.html

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