一、什么是匿名函数?
匿名函数即字面意思,匿名函数就是没有名字的函数
先看看匿名函数和普通函数的区别
普通函数:
function example(){
return “我是普通函数”;
}
匿名函数:
function(){
return “我是匿名函数”;
}
注意:单独的匿名函数是无法执行的,也无法调用,运行程序会报错
如要运行不报错,需给匿名函数包裹一个括号
(function(){
return “我是匿名函数”;
})
二、如何执行匿名函数
1.调用匿名函数
代码如下(示例):
var a = function(){ //把匿名函数赋值给变量a
return “我是匿名函数”;
}
//调用
console.log(a()) //打印出"我是匿名函数"
2.自执行匿名函数
代码如下(示例):
(function(){
return “我是匿名函数”;
})();
其实就是根据上面调用匿名函数的方式来实现,直接走调用那一步 a()
function(){return “我是匿名函数”;}这一块相当于a
然后调用,加上括号
(function(){return “我是匿名函数”;})()这一整块就是(a)(),省略一个括号a()
三、闭包
1.什么是闭包
我看了一下闭包的定义说闭包就是能够读取其他函数内部变量的函数
但是我有个疑问,既然是读取内部变量,为什么不直接return变量
👉👉👉传送门:闭包与直接 return 的区别
1、闭包返回的是执行环境;
2、不只是为了让函数外部拿到内部变量,还能保护私有变量不被随意修改;
3、闭包作为一个可以访问函数内部变量的函数,更多的是可以在其中添加其他的条件,过滤无效的值。 如果直接return 变量,然后赋值的话,还要在后续去判断这个值的有效性。
总结
后续补充