zoukankan      html  css  js  c++  java
  • JavaScript中的匿名函数、回调函数、自调用函数

    匿名函数

      顾名思义就是没有名字的函数

    下面说一下它的两个用途:

    1. 你可以把匿名函数作为一个参数传递给其它函数。
    2. 你可以定义一个匿名函数并立马执行它

    回调函数

      因为函数就跟那些可以分配给变量的数据一样,它可以定义,删除,拷贝,所以也可以作为参数传递给函数,简单来说回调函数就是把函数作为参数来用

    看一下下面的例子,也是匿名函数的用途之一

    <script type="text/javascript">        

        function one() {  return 1;  }        

        function two() {  return 2; }

            function sum(a, b) { return a() + b(); }

            document.write("把函数当作参数:" + sum(one, two) + '<br/>');        

        document.write("把匿名函数当作参数:" + sum(one, function () { return 1; }) + '<br/>');    

    </script>

    自调用函数

      目前为止,我们已经讨论了把匿名函数当成回调函数来使用,现在让我们匿名函数的另一个用途——定义后马上调用,下面是一个例子:

    <script type="text/javascript"> 

       ( 

        function () { 

          function hello() { return 2; }

                     document.write(hello()); 

        }        

      )()

            var name = "Jeff";        

        //带参数的        

      (            

         function (param) {                

                    document.write(param);           

        }        

      )(name)                

    </script>

    1. 使用自调用的匿名函数的理由是做一些工作但不需要创建一些全局的变量。
    2. 一个缺点是,很明显就是你不能调用这个函数2 次(除非你把它放在一个循环或者其它函数里面)。这使得自调用的匿名函数非常适合做一次性或者初始化性质的工作。
  • 相关阅读:
    Linux 配置gitee
    Linux C errno出错处理
    Linux C进程时间:墙上时钟时间,用户CPU时间,系统CPU时钟时间
    编译错误: 对‘aio_read’未定义的引用
    Linux 异步IO(AIO)
    Linux getaddrinfo获得本机ip地址为何127.0.1.1?
    Linux 文件截断的几种方式
    如何创建守护进程?
    守护进程, 协同进程, 僵尸进程, 孤儿进程概念理解
    对线程安全, 可重入函数, 异步安全的理解
  • 原文地址:https://www.cnblogs.com/xinlingblog/p/2416377.html
Copyright © 2011-2022 走看看