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 相关文章推荐
arguments对象
Nov 20 Javascript
jQuery 创建Dom元素
May 07 Javascript
让textarea自动调整大小的js代码
Apr 12 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
javascript中Function类型详解
Apr 28 Javascript
深入理解JavaScript中的箭头函数
Jul 28 Javascript
JS图片压缩(pc端和移动端都适用)
Jan 12 Javascript
babel基本使用详解
Feb 17 Javascript
关于vue单文件中引用路径的处理方法
Jan 08 Javascript
小程序云函数调用API接口的方法
May 17 Javascript
微信小程序点击保存图片到本机功能
Dec 13 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 Javascript
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和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
php 获取本地IP代码
2013/06/23 PHP
帝国cms目录结构分享
2015/07/06 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
react-router中的属性详解
2017/06/01 Javascript
vue实现通讯录功能
2018/07/14 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python安装gdal的两种方法
2019/10/29 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
一些关于MySql加速和优化的面试题
2014/01/30 面试题
校班主任推荐信范文
2013/12/03 职场文书
广告学专业求职信
2014/06/19 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
党员倡议书
2015/01/19 职场文书
辅导员学期工作总结
2015/08/14 职场文书
爱国教育主题班会
2015/08/14 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
解决golang在import自己的包报错的问题
2021/04/29 Golang
python实战之用emoji表情生成文字
2021/05/08 Python