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

js立即执行函数

作者: WangYatao | 来源:发表于2018-03-14 19:55 被阅读13次

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

image

接下来看立即执行函数的两种常见形式:( function(){…} )()和( function (){…} () ),一个是一个匿名函数包裹在一个括号运算符中,后面再跟一个小括号,另一个是一个匿名函数后面跟一个小括号,然后整个包裹在一个括号运算符中,这两种写法是等价的。要想立即执行函数能做到立即执行,要注意两点,一是函数体后面要有小括号(),二是函数体必须是函数表达式而不能是函数声明。先看下图:

image

从图中可以看出,除了使用()运算符之外,!,+,-,=等运算符都能起到立即执行的作用。这些运算符的作用就是将匿名函数或函数声明转换为函数表达式,如下图所示,函数体是函数声明的形式,使用运算符将其转换为函数表达式之后就可达到立即执行效果:

image

2.立即执行函数在执行完成后会立即销毁,例如:

(function test(){
console.log("执行完后立即销毁");
})();
image.png

上图可以看出test未被找到。
3.使用立即执行函数的好处

通过定义一个匿名函数,创建了一个新的函数作用域,相当于创建了一个“私有”的命名空间,该命名空间的变量和方法,不会破坏污染全局的命名空间。此时若是想访问全局对象,将全局对象以参数形式传进去即可,如jQuery代码结构:

image

其中window即是全局对象。作用域隔离非常重要,是一个JS框架必须支持的功能,jQuery被应用在成千上万的JavaScript程序中,必须确保jQuery创建的变量不能和导入他的程序所使用的变量发生冲突。

相关文章

  • 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/pcjqqftx.html