• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

JavaScript的匿名函数

武飞扬头像
蜂蜜柚子茶り
帮助1

函数的定义跟变量的定义过程差不多,那函数的定义就可以像变量一样进行。

  1.  
    var f = function fn(){
  2.  
    console.log(12)
  3.  
    }

这是定义一个变量,将函数代码放到变量空间中,这样的函数也是可以正常进行调用的,就使用变量的名称就行:

fn() //12

那fn这个函数的名字还能进行调用吗:

fn() // fn is not defined

这就说明,当将一个函数赋值给一个变量的时候,这个函数的名字就没有用了,所以我们可以将这个函数名称省略:

  1.  
    var f = function(){
  2.  
    console.log(12)
  3.  
    }

这样还是可以正常调用的:

f()

这种没有名字的函数就叫做匿名函数。

匿名函数不能单独存在,会报错:

  1.  
    function(){
  2.  
    console.log(13)
  3.  
    }

除非将这个函数用小括号括起来:

  1.  
    (function(){
  2.  
    console.log(13)
  3.  
    })

但是这种没有名字的函数就无法调用了,js提供了一个专门用来调用匿名函数的语法:

  1.  
    (function(){
  2.  
    console.log(13)
  3.  
    })()

后面加小括号就表示调用,这种定义并调用函数的语法,叫做自调用函数。即,函数定义好立即调用。自调用函数也可以不给函数加小括号,在函数前加感叹号或波浪线:

  1.  
    !function(){
  2.  
    console.log(14);
  3.  
    }()
  4.  
     
  5.  
    ~function(){
  6.  
    console.log(14);
  7.  
    }()

同样是立即执行的函数。这种函数也是可以传参数的:

  1.  
    (function(a,b){
  2.  
    var c = a b;
  3.  
    document.write(c);
  4.  
    })(1,2);

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhieghcb
系列文章
更多 icon
同类精品
更多 icon
继续加载