立即执行函数

定义:此类函数没有声明,在一次执行过后即释放。适合做初始化工作。
作用:造出一个函数作用域,防止污染全局变量,它既不会提升,也不会污染全局对象,尽量的把功能封装在函数中
首先得知道,

  • 只有表达式才能被执行符号执行
  • 被执行符号执行的表达式他的名字会被自动忽略

当函数成为一个表达式时,它既不会提升,也不会污染全局对象。将函数变为一个函数表达式的方式之一,将函数用小括号括起来。
然而,这样一来,函数无法通过名称调用。如果书写一个函数表达式,然后将立即调用,该函数称之为立即执行函数 IIFE(Imdiately Invoked Function Expression)。
由于大部分情况下,函数表达式的函数名没有实际意义,因此,可以省略函数名。没有名字的函数,称之为匿名函数

//w3c建议写法:
    (function () {
   
            var a = 1,
                b = 2,
                c = 3;
            console.log(a, b, c);
        }());
//2.
 (function (){
   
            var a = 1,
                b = 2,
                c = 3;
            console.log(a, b, c);
        })(); 

上面说到了只有表达式才能被执行符号执行负责就会报错,但是有这个特殊情况

 function test(a, b, c,d) {
   
            console.log(a + b + C + d) ;
            }(1,2,3,4);

这里他不会报错,但也不会执行…他会分开执行

function test(a, b, c,d) {
   
            console.log(a + b + C + d) ;
            }




(1,2,3,4);

tip:>(免费获取最新完整前端课程关注vx公众号:前端拓路者coder,回复:资料
如果这个文章对你有用的话,欢迎点赞转发关注,让更多的小伙伴看到呀,毕竟分享是一个程序员最基本的美德!!!
如果有不对的请大佬指教)