为了账号安全,请及时绑定邮箱和手机立即绑定

帮忙看一段js的moudule函数扩展

帮忙看一段js的moudule函数扩展

慕标琳琳 2019-08-09 23:57:05
varblogModule=(function(my){my.AddPhoto=function(){//添加内部代码};returnmy;}(blogModule));请问一下,匿名函数‘my’是传入的值,那后面的blogModule是传出还是传入?最后returnmy还跟blogMoudule有关系吗?越来越对匿名函数自执行的理解不清晰
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

分解来看每一个名词的意思,首先是var定义的blogModule变量:
varblogModule=(function(my){...}(blogModule));
简化一下就知道它是用来接收一个函数调用的返回值的变量,并且这个函数使用了()表达式包裹起来,是将函数调用作为一条表达式的意思。
再来是第二个blogModule,它是传入匿名函数的实参,即将要传入的模块对象:
function(my){...}(blogModule)
最后是my,它是匿名函数定义的形参,接收传入的实参,也就是这个例子的blogModule:
function(my){
my.AddPhoto=function(){
//添加内部代码
};
returnmy;
};
所以在函数体中对my的属性或方法的增删改其实都是对传入blogModule的操作。最后返回的my,也是返回了修改后的blogModule对象。
                            
查看完整回答
反对 回复 2019-08-09
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

传入呀,相当于
varblogModule=function(my){
my.AddPhoto=function(){
//添加内部代码
};
returnmy;
};
blogModule(blogModule)
                            
查看完整回答
反对 回复 2019-08-09
  • 2 回答
  • 0 关注
  • 264 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号