zoukankan      html  css  js  c++  java
  • 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); 
    }

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

  • 相关阅读:
    pt-tcp-model
    (转)从史上八大MySQL宕机事故中学到的经验
    pt-query-digest
    DNS生效时间
    Python之uuid模块
    一个IO的传奇一生
    Python之Queue模块
    利用freemarker 静态化网页
    FreeMarker教程
    模板引擎freemarker的简单使用教程
  • 原文地址:https://www.cnblogs.com/planetwithpig/p/11705828.html
Copyright © 2011-2022 走看看