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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!