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

2023-12-17 22:36:04

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

一.函数表达式

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

    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.多个立即执行函数之间用分号隔开

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

文章来源:https://blog.csdn.net/m0_74577714/article/details/135050899
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。