Javascript中匿名函数的多种调用方式总结


Posted in Javascript onDecember 06, 2013

Javascript中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。

方式1,调用函数,得到返回值。强制运算符使函数调用执行

(function(x,y){ 
    alert(x+y); 
    return x+y; 
}(3,4));

方式2,调用函数,得到返回值。强制函数直接量执行再返回一个引用,引用再去调用执行
(function(x,y){ 
    alert(x+y); 
    return x+y; 
})(3,4);

这种方式也是很多库爱用的调用方式,如jQuery,Mootools

方式3,使用void

void function(x) { 
      x = x-1; 
      alert(x); 
}(9);

方式4,使用-/+运算符
-function(x,y){ 
    alert(x+y); 
    return x+y; 
}(3,4); +function(x,y){ 
    alert(x+y); 
    return x+y; 
}(3,4); 
--function(x,y){ 
    alert(x+y); 
    return x+y; 
}(3,4); 
++function(x,y){ 
    alert(x+y); 
    return x+y; 
}(3,4);

方式5,使用波浪符(~)
~function(x, y) { 
    alert(x+y); 
   return x+y; 
}(3, 4);

最后看看错误的调用方式
function(x,y){ 
    alert(x+y); 
    return x+y; 
}(3,4);
Javascript 相关文章推荐
JavaScript创建命名空间(namespace)的最简实现
Dec 11 Javascript
Jquery Ajax.ashx 高效分页实现代码
Oct 20 Javascript
js输出阴历、阳历、年份、月份、周示例代码
Jan 29 Javascript
jquery制作多功能轮播图插件
Apr 02 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
May 30 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
js+css3实现旋转效果
Jan 20 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
Oct 23 Javascript
在vue项目中引入highcharts图表的方法(详解)
Mar 05 Javascript
Angular开发实践之服务端渲染
Mar 29 Javascript
vue实现个人信息查看和密码修改功能
May 06 Javascript
JavaScript canvas绘制渐变颜色的矩形
Feb 18 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
Dec 06 #Javascript
JavaScript作用域与作用域链深入解析
Dec 06 #Javascript
深入解析JavaScript中的变量作用域
Dec 06 #Javascript
关于Javascript作用域链的八点总结
Dec 06 #Javascript
Javascript变量作用域详解
Dec 06 #Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
Dec 06 #Javascript
Javascript中克隆一个数组的实现代码
Dec 06 #Javascript
You might like
PHP_MySQL教程-第一天
2007/03/18 PHP
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
php下的权限算法的实现
2007/04/28 PHP
PHP _construct()函数讲解
2019/02/03 PHP
sina的lightbox效果。
2007/01/09 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
python实现SMTP邮件发送功能
2020/06/16 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
计算机应用专业毕业生求职信
2013/10/24 职场文书
优秀实习自我鉴定
2013/12/04 职场文书
教师的实习鉴定
2013/12/15 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
GPU服务器的多用户配置方法
2022/07/07 Servers