js中匿名函数的使用场景
1.绑定事件
//1. 获取元素保存到变量里面
var btn = document.getElementById('mybtn')
//2. 给变量添加点击事件,后面的function是没有名字的,就叫做匿名函数
btn.onclick = function () {
alert("点击了按钮");
}
2.绑定对象上面
// 1.匿名函数在对象中的应用
var obj = {
name: "陈贤云",
age: 18,
// 2.此处函数没有名字,但是前面有规定
sayHello:function(){
console.log("哈哈哈");
}
}
// 3.调用这个方法
obj.sayHello()
3.函数表达式在函数上的应用
// 函数表达式上面的应用
var func = function(){
//上面这个函数没有名字,但是有变量名字为func
console.log("func打印了");
}
func()
4.回调函数的方式
// 4.回调函数的方式
setInterval( function(){
console.log("哈哈哈");
}, 1000)
5.返回函数的方式
function test(){
// 这里返回一个函数,返回的就是一个匿名函数
return function(){
return "哈哈"
}
}
// 调用函数里面返回的函数
console.log(test()());
test()
6.模仿块级作用域
- 演示的是没有函数作用域的情况
if(1 === 1){ // a为全局变量 var b = 1 } console.log(b)//b = 1,如果有函数作用域的话输出为undifined
for(var b = 1; b < 3;b++){
console.log(“当前的变量为:”+ b);
}
console.log(“执行完之后的b:”+b);
* 用匿名函数(相当于闭包的方式来进行模拟)
```javascript
function func(){
(function(){
var a = 1
})()
// 报错,not undifine
console.log(a);
}
// 报错,没法访问函数内部的参数
func().a
以上就是闭包和匿名函数的区别
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1371769065@qq.com