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

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

幫忙看一段js的moudule函數擴展

幫忙看一段js的moudule函數擴展

慕的地6264312 2019-07-27 09:32:52
varblogModule=(function(my){my.AddPhoto=function(){//添加內部代碼};returnmy;}(blogModule));請問一下,匿名函數‘my’是傳入的值,那后面的blogModule是傳出還是傳入?最后returnmy還跟blogMoudule有關系嗎?越來越對匿名函數自執行的理解不清晰
查看完整描述

2 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

分解來看每一個名詞的意思,首先是var定義的blogModule變量:
varblogModule=(function(my){...}(blogModule));
簡化一下就知道它是用來接收一個函數調用的返回值的變量,并且這個函數使用了()表達式包裹起來,是將函數調用作為一條表達式的意思。
再來是第二個blogModule,它是傳入匿名函數的實參,即將要傳入的模塊對象:
function(my){...}(blogModule)
最后是my,它是匿名函數定義的形參,接收傳入的實參,也就是這個例子的blogModule:
function(my){
my.AddPhoto=function(){
//添加內部代碼
};
returnmy;
};
所以在函數體中對my的屬性或方法的增刪改其實都是對傳入blogModule的操作。最后返回的my,也是返回了修改后的blogModule對象。
                            
查看完整回答
反對 回復 2019-07-27
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

傳入呀,相當于
varblogModule=function(my){
my.AddPhoto=function(){
//添加內部代碼
};
returnmy;
};
blogModule(blogModule)
                            
查看完整回答
反對 回復 2019-07-27
  • 2 回答
  • 0 關注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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