js立即执行函数

写法一

(function () {
    console.log("aaa")
}());

写法二

(function () {
    console.log("aa")
})();

原理

js中只有表达式才能被执行,如下:

var demo = function test() {
    console.log("aa");
}();

以上代码“var demo = ”将函数定义转换为表达式,故可以直接之函数后面添加“()”符号直接执行,上面的立即执行函数通过对函数添加“()”将函数转换为函数表达式,故可以通过在函数末尾添加“()”立即执行函数,从而实现立即执行函数,以下代码也能将函数转化为表达式:

+function test() {
    console.log("aa");
}();

-function test() {
    console.log("aa");
}();

!function test() {
    console.log("aa");
}();

立即执行函数参数传递

写法一

(function (a,b) {
    console.log(a + b)
}(1,2));

写法二

(function (a,b) {
    console.log(a + b)
})(1,2);

注意:有多个执行函数时,将执行函数后面添加“;”号,否则会执行出错,原因为在立即执行函数前边的函数调用结束后,由于JavaScript的不需要换行结束符的特性,环境会将前面的立即执行表达式和后边的立即执行表达式一同执行,把包裹匿名函数的’()'当做一个函数执行标志符,把匿名函数当做函数参数传送给后边的立即执行表达式的返回值执行。

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

推荐阅读更多精彩内容

  • 1.什么是立即执行函数只有表达式才可以被()符号执行。在了解立即执行函数之前先明确一下函数声明、函数表达式及匿名函...
    WangYatao阅读 2,844评论 0 0
  • 深入理解javascript中的立即执行函数(function(){ 这篇文章主要介绍了深入理解javascrip...
    横竖撇捺啊阅读 1,183评论 0 0
  • 【转载】https://my.oschina.net/u/2331760/blog/468672?p=%7B%7B...
    丿inane丶阅读 1,475评论 0 0
  • 本文导读:js立即执行函数可以让你的函数在创建后立即执行,js立即执行函数模式是一种语法,可以让你的函数在定义后立...
    白屏阅读 4,010评论 0 50
  • js中(function(){...})()立即执行函数写法理解 转自segmentfault chichttps...
    IMMYz阅读 3,443评论 0 49