打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
js立即执行函数

一、JS立即执行函数的写法

 

方式1、最前最后加括号
 

(function(){alert(1);}());

 

方式2、function外面加括号

(function(){alert(1);})();

 

方式3、function前面加运算符,常见的是!与void

!function(){alert(1);}();
void function(){alert(2);}();

 

二、立即执行函数的参数

可以给立即执行函数传递参数,例如

(function(who, when) {
    console.log("I met " + who + " on " + when);
} ("Joe Black", new Date()));

记住

1、立即函数内部是可以访问外部变量的,所以很多情况下,我们并不需要传参数。如:jQuery的window实参,如果不传入。内部也是可以直接使用的。

2、通常你不应该给立即执行函数传递太多的函数,因为它很快会成为一个负担——为了理解代码是如何工作的,你不得不经常上下滚动源代码。

 

三、立即执行函数的返回值

像其它任何函数一样,一个立即执行函数也能返回值并且可以复制给其它变量,例如

 
var result = (function () {
return 2 + 2;
}());

 

var result = (function () {
return 2 + 2;
})();

 

四、立即执行函数好处

1、立即执行函数模式被广泛使用,它可以帮你封装大量的工作而不会在背后遗留任何全局变量。

2、定义的所有变量都会成员立即执行函数的局部变量,所以你不用担心这些临时变量会污染全局空间。
3、这种模式经常被使用在书签工具(bookmarklets)中,因为书签工具在任何页面上运行并且保持全局命名空间干净是非常必要的;
4、这种模式也可以让你将独立的功能封装在自包含模块中。
5、可以将这些代码封装进一个立即执行函数中,并且确保页面没有它的情况下也能正常工作。
6、可以添加更多的加强模块,移除它们,单独测试它们,允许用户去禁用它们等等。
五、注意点

立即执行函数通常作为一个单独模块使用。一般没有问题,但是,建议在自己写的立即执行函数前加分号,这样可以有效地与前面代码进行隔离。否则,可能出现意想不到的错误。

例如

var c = 12
var d = c
(function () { var e = 14; }())

会报这样一个错误:

 

收藏
98
很赞
384
您可能感兴趣
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Node.js学习(九)
模块
我也来说说啥是闭包,本来很简单的事,别人怎么都讲那么复杂
JavaScript function函数种类
Javascript闭包——懂不懂由你,反正我是懂了
Node.js 概述
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服