• JS中的匿名函数、回调函数、匿名回调函数


    工欲善其事必先利其器

    在学习JavaScript设计模式一书时,遇到了“匿名回调函数”这个概念,有点疑惑,查找了些资料重新看了下函数的相关知识点之后,对这个概念有了认识。九层之台,起于垒土。在熟悉这一系列的概念之前,我们先来认识下JavaScript中函数吧。

    一、定义函数的方式有两种:

    • 函数声明
    • 函数表达式

    函数声明格式如下  

    function functionName(arg0,arg1,arg2,...){
      //函数体
    }

    function是关键字,然后functionName是函数的名字,这就是指定函数名的方式。这个函数的name属性是functionName。

    函数表达式最常见的一种格式如下:

    var varfun=function(){
        //函数体
    }

    创建一个函数并将它赋值给变量varFun,这种情况下创建的函数叫匿名函数(拉姆达函数)。匿名函数的name属性是空字符串。

    以下代码测试两种定义方式的name属性值:

    function fun(){
    }
        console.log(fun.name);//fun
    
    var varfun=function(){
    }
        console.log(fun.name);//空的

    二、函数调用方式

    匿名函数的自调用方式:

    //无参
    (function(){
    })();
    
    //带参
    (function(a,b){
    alert(a+b);
    })(3,5);

    函数的回调方式:(通过函数指针调用函数)

    //first
    function math(num1,num2){
        return minus(num1,num2);
        // return add(num1,num2);
    }
    function add(num1,num2){
        return num1 + num2;
    }
    function minus(num1,num2){
        return num1-num2;
    }
    alert(math(1,2));

    匿名回调函数:

    函数声明采用表达式形式,通过变量名调用。

    var minus=function(num1,num2){
        return num1-num2;
    }
    function math(num1,num2){
        if(num1>num2)
            return minus(num1,num2);  
        else
            return minus(num2,num1); 
    }

    前端小白,如有不对,请斧正。

  • 相关阅读:
    变量
    匿名函数与内建函数
    Datanode denied communication with namenode because hostname cannot be resol
    0003.搭建Hadoop的环境
    0001.大数据课程概述与大数据背景知识
    享学首创年薪阿里60W+/对标P7岗移动 架构师成长路线V3.0 ---- Android移动互联网架构开发
    FFmpeg和WebRTC的区别
    查看每个文件下内存占用大小
    linux 删除中文乱码
    FFmpeg 命令大全
  • 原文地址:https://www.cnblogs.com/planetwithpig/p/11705828.html
Copyright © 2020-2023  润新知