自调函数的N种写法

2017-11-04  本文已影响0人  鬼马双星

首先说什么是自调函数,我的理解就是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 } (); 相当于 {}

上一篇 下一篇

猜你喜欢

热点阅读