美文网首页
js立即执行函数

js立即执行函数

作者: 白屏 | 来源:发表于2018-01-04 11:27 被阅读25次

本文导读:js立即执行函数可以让你的函数在创建后立即执行,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; }())

会报这样一个错误:

image

注:转载于http://www.cnblogs.com/lodingzone/p/5341143.html

相关文章

  • Js立即执行函数

    js立即执行函数可以让你的函数在创建后立即执行,js立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行,...

  • js立即执行函数

    本文导读:js立即执行函数可以让你的函数在创建后立即执行,js立即执行函数模式是一种语法,可以让你的函数在定义后立...

  • js模块化之路(1):手写js组件

    阅读前需要具备js基础(this,js原型链,继承,立即执行函数等) 关键点:1.通过立即执行函数,来达到隐藏细节...

  • js立即执行函数

    1.什么是立即执行函数只有表达式才可以被()符号执行。在了解立即执行函数之前先明确一下函数声明、函数表达式及匿名函...

  • JS立即执行函数

    很多时候我们在js中定义一个函数后,只需要执行该函数一次,比如数据初始化函数;这种情况下,定义一个函数就会浪费...

  • js立即执行函数

    js中(function(){...})()立即执行函数写法理解 转自segmentfault chichttps...

  • JS 立即执行函数

    定义方式一 定义方式二

  • JS立即执行函数

    ( function(){…} )()和( function (){…} () )是两种javascript立即执...

  • JS: 立即执行函数

    在讨论前端的时候,我们总能听到立即执行函数。我第一次听到这个名字的时候总以为很高大上,每次都想以后有机会好好学一下...

  • JavaScript:立即执行函数

    前言: 什么是立即执行函数?JS立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行,这种模式本质上就是函...

网友评论

      本文标题:js立即执行函数

      本文链接:https://www.haomeiwen.com/subject/dvfrnxtx.html