自调函数的N种写法

首先说什么是自调函数,我的理解就是JavaScript中匿名函数自己调用自己。代码运行到此立即执行,因此也叫立即执行函数。

匿名函数必须赋值给变量或者对象的属性或者传参,同理自调函数的返回值必须也要赋值给变量等即便返回空。开始列举自调函数的几种写法,装X进行时。

写法一:赋值给变量

var a = function(){return 1}();

相当于 var a = 1;

写法二:返回给void

void function() {return 1}();

相当于void 1;

写法三:作为参数传递

func(function() {return 1}());

相当于 func(1);

写法四:()分组

(function() {return 1} )();

相当于1

(function() {return 1} ());

相当于(1)

写法五:躲进if里

if (function(){return true}) {}

相当于 if( true ) {}

写法六:一元操作符

!function(){return true}();  相当于 !true

~function(){return true}();  相当于 !true

-function(){return true}();  相当于 !true

+function(){return true}();  相当于 !true

写法七:new 关键字

new function(){return } (); 相当于 {}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,752评论 0 17
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,963评论 2 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,856评论 0 9
  • 喜欢婆婆家的狗,它有名字又算没名字,婆婆一直管它叫“狗”--招呼它吃食的时候叫它“狗”,撵它到院子去的时候叫它“狗...
    海边的菩提2016阅读 278评论 0 0