javascript - js 中作用域的问题
高洛峰
高洛峰 2017-04-11 10:05:10
0
2
115

以下两段代码:

var a = 11;
var foo = function() {
    var a = 10;
    console.log(a)
};
foo() //结果a=10
var a = 11;
var foo = function(){
    console.log(a)  
}
var bar = function(){
    var a = 10;
    foo() 
}
bar() //结果a=11

第一个比较好理解,foo函数中的内部AO=>[a:10];[[Scope]]=>[a : 11];AO优先性高,所以输出a=10;
但是第二个是什么原因?

bar函数中,bar的AO=>[a:10];[[Scope]]=>[a:11];
在bar中调用foo函数,为什么内部AO没有优先的调用呢?

问题:
在调用bar()时,其内部作用域是如何变化的?
foo跟bar的关系是什么样的?

烦请指教!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!