JS匿名函数之函数表达式与立即执行函数

匿名函数是什么?和具名函数有什么区别?让我为大家介绍一下吧!
没有名字的函数,无法直接使用

一.函数表达式

将匿名函数赋值给一个变量,并且通过变量名去调用,我们将这个称为函数表达式
语法:

    let fun = function(){}
    let fun = function(){
        console.log("我是函数表达式")
    }
    fun() //调用

我们传入参数怎么传

    let fun = function (x, y) {
        console.log(x + y) //3
    }
    fun(1,2)

函数表达式和具名函数的不同点
1.具名函数的调用可以写到任何位置

    fun()
    function fun(){
        console.log(1) //1
    }

2.函数表达式必须先声明函数表达式,后调用

    // 报错 Cannot access 'fun' before initialization
    // 在初始化之前无法访问'fun'
    fun(1,2)
    let fun = function (x, y) {
        console.log(x + y)
    }

二.立即执行函数

使用场景:避免全局变量之间的污染
语法:

    // 第一种
    (function(){}());
    // 第二种
    (function(){})();

注意:立即执行函数要加分号

    (function(){}())
    // 报错 因为()后面还是()没有结束
    (function(){})();

第二个小括号相当于调用函数
传入参数
第一种写法:

    (function (x, y) {
        console.log(x + y) //3
    })(1, 2)

第二种写法:

    (function (x, y) {
        console.log(x + y) //3
    }(1, 2))

立即执行函数注意事项
1.无需调用,立即执行,其实本质已经调用了
2.多个立即执行函数之间用分号隔开

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值