亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS中,函數A return 出函數B,請問函數A和B的作用域是什么關系?是上下級關系還是平行關系?

JS中,函數A return 出函數B,請問函數A和B的作用域是什么關系?是上下級關系還是平行關系?

HUX布斯 2019-02-12 13:14:17
JS中,函數A ,return 出函數B,請問函數A和B的作用域是什么關系?是上下級關系還是平行關系?比如在學習閉包的時候,常常會遇到這樣的例子:function a(){    var x=10;    return function b(){        x++;        alert("x為:"+x);    }}顯然在這種情況下,b()是a()的下級作用域,才能訪問a()中的變量x。而我目前理解的是:函數A return出的函數B,它們的作用域是平行關系。a()像我們的肚子,如果b()在肚子里面,那么b()確實是a()的下級作用域。但是現在b()被a()return出來了,就像從肚子里面排遺出來一樣,那么b()就從a()中脫離出來了,所以我目前認為它們是平行關系。因為還有個例子是這樣的:var name="大王";var obj={    name="小王";    getName:function(){        return function(){               return this.name;               }    }};var ele=obj.getName();//function(){return this.name;};alert(ele());//大王//或者用alert(obj.getName()());//大王這個例子里面obj.getName() --> return出來的函數就是全局函數。你看這里,對象的方法也是函數對不對?但這個例子就說明它return出來的函數不在這個方法的作用域里面,而是和對象平行的作用域。所以很疑惑,請各位大神講解講解!
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 541 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號