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

//普通函数
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 () {undefinedconsole.log('立即执行函数');})();// !!!特别说明:若此立即执行函数后面立马又跟着一个立即执行函数,一定要在结尾加分号,否则后面的立即执行函数会报错!

5.用于DOM元素注册时间

<button id="btnEvent">click me</button>
let btn=docunment.getElementById("btnEvent")
btn.onclick=function(){console.log("DOM元素注册时间")}

JavaScript匿名函数(自调用函数)相关推荐

  1. JavaScript匿名函数和回调函数

    匿名函数的自调函数格式: (function(){ //代码 })(); <script type="text/javascript">(function(){ ale ...

  2. javascript匿名函数的各种执行形式

    近期在研究Pomelo源码,这个框架基于Node.js,所以非要频繁地与JavaScript脚本打交道不可.因此,本文中我们来总结 javascript语言中匿名函数的主要目的及各种存在形式.其实,匿 ...

  3. JavaScript匿名函数、作用域、预解析

    匿名函数: 没有名字的函数/定义时未直接命名的函数. 优点: 非匿名函数在定义时,已经创建了函数对象和作用域对象:所以,即使没有调用也会占用内存空间:但是匿名函数仅在调用时,才临时创建函数对象和作用域 ...

  4. javascript 匿名函数的理解

    代码如下: (function(){ //这里忽略jQuery所有实现 })(); (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他 ...

  5. Javascript匿名函数

    ü  定义 匿名函数的定义非常简单:就是没有名字的函数.但是其用途非常的大 ü  典型的函数定义方式 在看匿名函数之前我们先看下在Javascript中定义一个函数比较典型的几种方式 函数声明 fun ...

  6. JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别

    函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...

  7. JavaScript 匿名函数与闭包

    匿名函数与闭包 匿名函数 闭包 概念 相关知识点 闭包中的this 循环函数中的匿名函数和闭包 循环函数中的匿名函数 循环函数中的闭包 模仿块级作用域 私有变量 静态私有变量 匿名函数 没有函数名的函 ...

  8. javascript匿名函数及闭包深入理解及应用

    1.匿名函数 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数:就是没有函数名的函数. 1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式 第一种: ...

  9. 简单介绍Javascript匿名函数和面向对象编程

    忙里偷闲,简单介绍一下Javascript中匿名函数和闭包函数以及面向对象编程.首先简单介绍一下Javascript中的密名函数. 在Javascript中函数有以下3中定义方式: 1.最常用的定义方 ...

最新文章

  1. 清华发布《AI芯片技术白皮书》:新计算范式,挑战冯诺依曼、CMOS瓶颈
  2. 腾讯云携手SENSORO,为城市安全保驾护航
  3. iOS UI-IOS开发中Xcode的一些使用技巧
  4. operator new,new operator,placement new的区别
  5. P3033 [USACO11NOV]牛的障碍Cow Steeplechase
  6. toolStrip 按钮图片大小的修改
  7. Linux工作笔记-使用alias简化Linux命令(包含.bash和.cshrc)
  8. PHP获取汉字首字母并分组排序
  9. android学习笔记---33_为应用添加多个Activity与参数传递
  10. 模型开发:拥抱张量运算
  11. spring12----基于@AspectJ的AOP
  12. python按键盘上哪个键运行_python按什么键运行
  13. 互联网控制协议ICMP
  14. swoole2.0与java_swoole2.0试用说明
  15. 研究生研一学习机器学习ML、深度学习DL的规划
  16. Unity网格编程篇(四) 三维温度图、热力图
  17. android studio导入第三方库引发的问题和解决方法
  18. 系统信息相关命令(时间和日期 date cal,磁盘信息,进程信息)
  19. 使用word 2013 发布csdn博客
  20. 坚果课堂回顾:团队项目管理SOP打造顶尖执行力

热门文章

  1. linux命令---umask
  2. 计算机毕业设计ssmJava网名推荐系统5j37v系统+程序+源码+lw+远程部署
  3. ucinet可视化网络关系图_6款社会网络分析软件,你pick哪个?
  4. CSAPP读书笔记 第一部分 程序结构和执行 1.1
  5. Nodejs内存治理
  6. qt Qt Table Widget item 设置 选中 透明色
  7. 使用迅雷下载百度云上文件
  8. kali linux 桌面消失_Kali Linux在Windows子系统中获得了图形化桌面
  9. 计算机网络第3章数据链路层 单元测试(习题+答案+图文解析)
  10. C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址)