大家好,又见面了,我是你们的朋友全栈君。
首先看一下普通函数和匿名函数的区别
//普通函数
function sum(a,b){
return a+b;
console.log("我是一个普通函数")
}
//匿名函数,不能单独使用
function (a,b){
return a+b;
console.log("我是一个匿名函数")
}
没错,匿名函数简单来说就是普通函数去掉名字,但是他不能单独定义与使用,下面是匿名函数的一些使用场景:
用于函数表达式、作为返回值、用于定义对象方法、作为回调函数、用于立即执行函数、用于DOM元素注册事件
1.用于函数表达式
var sum = function (num1, num2) {
return num1 + num2;
};
console.log(sum(2, 3));
2.作为返回值
function sum(sum1, sum2) {
return function() {
return sum1 + sum2;
}
}
console.log(sum(2, 3)); // [Function]
console.log(sum(2, 3)()); // 5
3.用于定义对象方法
var obj = {
name: 'uakora',
age: 27,
foo: function() {
console.log(this.name + ' ' + this.age);
}
};
obj.foo(); // uakora 27
4.作为回调函数
setTimeout(function() {
console.log('匿名函数作为回调函数');
}, 1000);
4.用于执行立即函数
常用形式一:名函数后面跟一个括号,再将整个包裹在一个括号运算符中
(function() {
console.log('立即执行函数是基于匿名函数创建的');
}());
常用形式二:将匿名函数包裹在一个括号运算符中,后面再跟一个括号
(function () {
undefined
console.log('立即执行函数');
})();
// !!!特别说明:若此立即执行函数后面立马又跟着一个立即执行函数,一定要在结尾加分号,否则后面的立即执行函数会报错!
5.用于DOM元素注册时间
<button id="btnEvent">click me</button>
let btn=docunment.getElementById("btnEvent")
btn.onclick=function(){
console.log("DOM元素注册时间")
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/186474.html原文链接:https://javaforall.cn