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

以下两段代码:

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學習者快速成長!