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 相关文章推荐
日期 时间js控件
May 07 Javascript
使用js获取QueryString的方法小结
Feb 28 Javascript
JS实现屏蔽shift,Ctrl,alt等功能键的方法
Jun 01 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
Oct 21 Javascript
JavaScript中文件上传API详解
Apr 01 Javascript
分享JS数组求和与求最大值的方法
Aug 11 Javascript
bootstrap侧边栏圆点导航
Jan 11 Javascript
Node.js assert断言原理与用法分析
Jan 04 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
Jun 26 Javascript
微信小程序实现写入读取缓存详解
Aug 30 Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 Javascript
原生JS封装拖动验证滑块的实现代码示例
Jun 01 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将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
js简单抽奖代码
2015/01/16 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
为Python程序添加图形化界面的教程
2015/04/29 Python
Python中的getopt函数使用详解
2015/07/28 Python
举例详解Python中yield生成器的用法
2015/08/05 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
python ---lambda匿名函数介绍
2019/03/13 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
详解Python中第三方库Faker
2020/09/25 Python
详解anaconda安装步骤
2020/11/23 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
培训讲师邀请函
2014/01/10 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
2014年路政工作总结
2014/12/10 职场文书
写给女朋友的保证书
2015/05/09 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js