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

匿名函数和call以及return的问题. ().call(this);

匿名函数和call以及return的问题. ().call(this);

千巷猫影 2019-04-13 08:45:16
前几天在一个著名网站看到一个有趣的效果,然后自己着手试了试.之后看了页面的原码,被代码的简短和精细吓到(也可能是少见多怪).代码大致如下:(function(){$(function(){return$(".XXXX-XX").click(function(){return$(this).parent(".XXX").toggleClass("new");});});}).call(this);虽然代码的写法都很熟悉,可是仔细看了之后又觉得好陌生.问题集中在:1.(function(){/**functionbody**/}).call(this)是怎么执行的?这样写有什么好处?2.2个return的作用,为什么要return?,return了什么?.
查看完整描述

2 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

这段代码极有可能是由coffee编译过来的特点是外层的包裹匿名函数和看似没必要的return
匿名函数包裹是为了命名空间防止全局变量污染
看似没必要的return是因为coffee函数中如果不手动指定会默认return最后一行代码
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 305 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信