js匿名函数的调用示例(形式多种多样)


Posted in Javascript onAugust 20, 2014

匿名函数就是没有实际名字的函数。

javaScript的匿名函数形式多样,而且不搞清楚,容易看晕代码。

以下是成功调用的匿名函数:

(function () {

alert(3);

})

();
(function f1() {

alert(4);

})(); //不是匿名函数也能这样调用!!
void function(){

alert('void water');

}();//据说效率最高,Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

!function(){

alert('!water');

}(); //运算符+匿名函数调用
(function(){

alert('water');

}());//小括号+匿名函数,有点强制执行的味道~

使用匿名函数也要注意经常犯的错误:
//错误写法1

(function f1() {

alert(5);

})f1(); //这不是匿名函数了!
//错误写法2

(function () {

alert(6);

}); //语法没有错误,没有调用的匿名函数,后面也没有机会调用了,因为没有名字,找不到调用入口。
//错误写法3

function () {

alert(1);

}();//没有产生函数的引用就调用

另外要注意理解小括号的作用。

小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function对象。因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。

Javascript 相关文章推荐
用jQuery简化JavaScript开发分析
Feb 19 Javascript
JavaScript获取当前页面上的指定对象示例代码
Feb 28 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
window.onload与$(document).ready()的区别分析
May 30 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
AngularJS ng-repeat数组有重复值的解决方法
Oct 23 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
微信小程序开发之Tabbar实例详解
Jan 09 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
Jun 29 Javascript
vue服务端渲染缓存应用详解
Sep 12 Javascript
Django+vue跨域问题解决的详细步骤
Jan 20 Javascript
jQuery操作元素追加内容示例
Jan 10 jQuery
javascript对中文按照拼音排序代码
Aug 20 #Javascript
JS辨别访问浏览器判断是android还是ios系统
Aug 19 #Javascript
JS中实现简单Formatter函数示例代码
Aug 19 #Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 #Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 #Javascript
js选择并转移导航菜单示例代码
Aug 19 #Javascript
js遍历子节点子元素附属性及方法
Aug 19 #Javascript
You might like
PHP默认安装产生系统漏洞
2006/10/09 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
PHP删除数组中空值的方法介绍
2014/04/14 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
php无限级分类实现方法分析
2016/10/19 PHP
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
javascript数组去重小结
2016/03/07 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
Python向excel中写入数据的方法
2019/05/05 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
大专自我鉴定范文
2013/10/01 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
教师一岗双责责任书
2014/04/16 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
2015中学学校工作总结
2015/07/20 职场文书
股东协议书范本2016
2016/03/21 职场文书
html原生table实现合并单元格以及合并表头的示例代码
2023/05/07 HTML / CSS