zoukankan      html  css  js  c++  java
  • 对自执行匿名函数的理解

    问题:我一直以来对自执行匿名函数就不是太理解尤其对其写法(function(){})()感觉很困惑。现在对这种写法,为什么这样写有了一个相对清晰的认识。

    大家想看一个代码:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>self executing anonymous function</title>
     6 </head>
     7 <body>
     8     <script>
     9         //定义一个函数表达式
    10        var test=function () {
    11             alert("test");
    12         }
    13         //调用test()函数。
    14         test();
    15     </script>
    16 </body>
    17 </html>

    这段代码等价于下面这段:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>self executing anonymous function</title>
    </head>
    <body>
        <script>
            //定义一个函数表达式,并调用它。
           var test=function () {
                alert("test");
            }();
    
        </script>
    </body>
    </html>

    可以看到,第二段代码只是在匿名函数后面直接加上一个括号,相当于第一段代码的test();

    那么自执行匿名函数的形式(function(){})(); 其实就相当于test()。所谓的自执行,只是加了最外层的括号。调用了里面写的匿名函数。

    把上述代码改成自执行匿名函数的代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>self executing anonymous function</title>
    </head>
    <body>
        <script>
            //定义一个函数表达式,并调用它。
            (function () {
                alert("test");
            })();
    
        </script>
    </body>
    </html>
  • 相关阅读:
    KT_登录_流程图
    从零开始——电子商务平台02_遇到的小问题
    从零开始——电子商务平台02
    COCOMOII
    从零开始——电子商务平台01_遇到的小问题
    从零开始——电子商务平台01
    从零开始——MySql01
    【 bzoj4537】HNOI2016 最小公倍数
    SDOI2016 R1 解题报告 bzoj4513~bzoj4518
    左偏树初步 bzoj2809 & bzoj4003
  • 原文地址:https://www.cnblogs.com/1540340840qls/p/7623561.html
Copyright © 2011-2022 走看看