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 相关文章推荐
收藏Javascript中常用的55个经典技巧
Aug 12 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
javascript使用isNaN()函数判断变量是否为数字
Sep 21 Javascript
javascript遍历控件实例详细解析
Jan 10 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
js纯数字逐一停止显示效果的实现代码
Mar 16 Javascript
javascript深拷贝和浅拷贝详解
Feb 14 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
Dec 12 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中文件下载功能实现超详细流程分析
2012/06/13 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
车辆维修工自我评价怎么写
2013/09/20 职场文书
超市营业员岗位职责
2013/12/20 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
教师节联欢会主持词
2015/07/04 职场文书
军训结束新闻稿
2015/07/17 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
判断Python中的Nonetype类型
2021/05/25 Python
python 爬取华为应用市场评论
2021/05/29 Python
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
Python turtle编写简单的球类小游戏
2022/03/31 Python