zoukankan      html  css  js  c++  java
  • JavaScript中函数作为值

    function myfunc() {
      
          // ..
    
    }

    这是个函数,这样理解, myfunc只是外层作用域的一个变量,指向刚刚声明的function. 也就是说,function本身就是一个值, 就像 40 或者 [a,b,c]一样.

    也就是说,函数本身可以作为一个值赋给变量,或者作为参数传递给其他函数以及作为其他函数的返回值

    这样,一个函数值应该被认为是一个表达式,就像任何其他值或表达式

    var test = function() {
    
       //...
    
    };
    
    var a = function table(){
    
        //...
    };

    分配变量test的第一个函数表达式是匿名函数,这个函数没有函数名。  

    第二个函数是命名(table)函数,尽管它的引用被赋值给变量a. 

    立即执行函数表达式


    上面的函数,我们需要执行,必须调用来执行

    test();

    x();

    还有的函数,不需要这样调用,马上就执行。我们称之为立即执行函数表达式(IIFE, immediately invoked function expression)

    (function IIFE(){
    
       // do something
    })();

    立即执行函数也可以有返回值:

    var x = (function IIFE(){
     
            return 30;
       
    })();
    
    x;  //30

    IIFE命名函数执行并返回了值42,然后该值被赋给变量x

  • 相关阅读:
    60个生僻成语汇总
    人民网 ***讲话
    组合排序
    工具
    网络之网络设备
    《TCP协议到TCP通讯各种异常现象和分析》的学习
    Console
    RTT学习之ulog
    RTT之MQTT学习笔记
    项目管理-禅道
  • 原文地址:https://www.cnblogs.com/wphl-27/p/8520973.html
Copyright © 2011-2022 走看看