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

(()=>{})(()=>{})这种是什么操作? jquery源码。请教下各位大佬。

(()=>{})(()=>{})这种是什么操作? jquery源码。请教下各位大佬。

狐的传说 2019-03-07 14:14:08
查看完整描述

2 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

你可以这样理解

两个函数


function f1(f){}

function f2(){}

调用第一个函数,把第二个函数作为参数传递进去


f1(f2)


查看完整回答
反对 回复 2019-03-21
?
繁花不似锦

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

普通函数的定义与执行


// 定义函数fun,接收两个参数a,b

function fun(a, b){

  console.log(a)

  console.log(b)

}

// 执行函数fun

fun(1,2)

// 输出:

// 1

// 2

此时将函数fun换成一个匿名函数


(function (a, b){

  console.log(a)

  console.log(b)

})(1, 2)

发现没,与你截图的样子差不多了,只不过参数不一样,但实质是一样的:


a=你图片中的typeof window !=="undefined"?window:this的值

b=你图片中的function(window,noGlobal){ // ... }的值

总结下来就是定义个了一个函数,然后调用了这个函数,并传入了参数。只不过将这几个步骤的代码写在一块了。


可以去网上搜索js自执行函数进行学习,很多文章讲的都很好,里面涉及到闭包、作用域等知识。学习完你就会知道为什么要将一个好端端的函数调用写成这个德行了


查看完整回答
反对 回复 2019-03-21
  • 2 回答
  • 0 关注
  • 1315 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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