立即执行函数小知识点

立即执行函数

顾名思义,定义完后立即执行再销毁
下面是Google控制台演示
在这里插入图片描述

立即执行函数要求

首先立即执行函数长这样

     function(){}()

只有表达式才能被执行符号执行

    (function(){}()) //W3C标准
    (function(){})()
    + function(){}()
    - function(){}()

也就是说只写一个它本尊,是执行不了且报错的,而且大家应该知道表达式会使函数失去定义,所以立即执行函数通常没有函数名,重点来了

     function demo(a,b,c,d){
     console.log(a + b + c + d)
     }(1,2,3,4)                 //不报错

这种是不会报错也不会打印的,js会将它们分割开,变成函数和逗号运算符

     function demo(a,b,c,d){
     console.log(a + b + c + d)
     }



     (1,2,3,4)

但是如果执行符没有参数,就会报错了

     function demo(a,b,c,d){
     console.log(a + b + c + d)
     }()                       //报错

立即执行函数题目

最后用一道题来结束我人生中的第一篇博客

     var x = 1;
     if(function f{}){
         x += typeof f;
     }
     console.log(x);

1.If中的那个括号同样会使函数失去了定义功能
2.任何一个变量未经声明就使用会报错,唯一不会报错的就是放在typeof里面
3.返回的undefined是字符串
输出结果为1undefined

你可能感兴趣的:(立即执行函数小知识点)