匿名函数调用方法_javascript匿名函数

匿名函数调用方法_javascript匿名函数首先看一下普通函数和匿名函数的区别//普通函数functionsum(a,b){ returna+b; console.log(“我是一个普通函数”) }//匿名函数,不能单独使用function(a,b){ returna+b; console.log(“我是一个匿名函数”) }没错,匿名函数简单来说就是普通函数去掉名字,但是他不能单独定义与使用,下面是匿名函数的一些使用场景:用于函数表达式、作为返回值、用于定义对象方法、作为回调函数、用于立即执行函数、用于DOM元素注

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

首先看一下普通函数和匿名函数的区别

//普通函数
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元素注册时间")
	}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186474.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • html精灵图坐标如何确定,背景设置及精灵图

    html精灵图坐标如何确定,背景设置及精灵图背景色.box{width:450px;height:450px;border:1pxsolidaqua;background-color:burlywood;/*背景色默认可以从内边距透出来*/padding:20px;/*控制背景的覆盖范围*/background-clip:content-box;/*渐变*/background:linear-gradient(45deg,re…

  • Android service 启动篇之 bindService

    Android service 启动篇之 bindService前言:前面几篇博文Android中service详解Androidservice启动篇之startServiceAndroidservice启动篇之startForegroundService通过sourcecode分析了AMS中service的启动过程,bindService相对复杂一点,主要是多了一些service和app的绑定关系处理。本文继续…

  • Python和Java哪个就业前景好?

    Python和Java哪个就业前景好?Python和Java这两大编程语言,很多人都喜欢拿来比较,一个是后起之秀,潜力无限;一个是行业经典,成熟稳定,对于想从事IT技术的人员来说,很难抉择,那么,Python和Java到底哪一个就业前景更好呢?Python在国外应用相对成熟,在国内还处于起步阶段,近两年,随着人工智能、机器学习的、大数据以及云计算的兴起,Python发展势如破竹,很多企业开始进入该行列,Python人才是必不可少环…

  • VLAN技术_vlan的基本概念、作用和实现原理

    VLAN技术_vlan的基本概念、作用和实现原理本文首次发布于MlinBlog、简书、CSDN,作者@木林(Mlin),转载请保留原文链接。前言正文一、VLAN基本概念1VLAN概述2VLAN帧格式3VLAN链路类型4PVID5VLAN端口类型5.1Access端口5.2Trunk端口5.3Hybrid端口6VLAN划分6.1VLAN划分方法6.2VLAN划分匹配优先级…

  • Qt-4.8.7交叉编译平台的搭建、移植详解( aarch32、aarch64 、mips64)「建议收藏」

    Qt-4.8.7交叉编译平台的搭建、移植详解( aarch32、aarch64 、mips64)「建议收藏」由于项目需要,需要在国产系统(银河麒麟系统–飞腾cpu-arm64)上用firefox加载一个npapi插件,而firefox是一个32位的浏览器,而银河麒麟系统不支持编译32位的动态库,因此只能用交叉编译环境来编译arm32的动态库。整了一个星期的Qt移植,今天终于弄出来了。网上的移植教程很多,可没有一篇能够完整编译出自己需要的版本,因此记录一下学习过程以及编译…

  • write函数的详解与read函数的详解[通俗易懂]

    write函数的详解与read函数的详解[通俗易懂]write()头文件:#include&lt;unistd.h&gt;原型:ssize_twrite(intfd,constvoid*buf,size_tcount);参数说明:fd:是文件描述符(write所对应的是写,即就是1)buf:通常是一个字符串,需要写入的字符串count:是每次写入的字节数返回值:成功:返回写入的字节数…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号