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 相关文章推荐
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
基于jquery的button默认enter事件(回车事件)。
May 18 Javascript
简单实用的全选反选按钮例子
Oct 18 Javascript
js创建一个input数组并绑定click事件的方法
Jun 12 Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
CSS3,HTML5和jQuery搜索框集锦
Dec 02 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
Nov 19 Javascript
基于vue2的table分页组件实现方法
Mar 20 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
layui select获取自定义属性方法
Aug 15 Javascript
vue-router权限控制(简单方式)
Oct 29 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
Mar 07 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 a simple smtp class
2007/11/26 PHP
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
PHP静态成员变量
2017/02/14 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
简单实现js放大镜效果
2017/07/24 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
Python3实现从指定路径查找文件的方法
2015/05/22 Python
Python实现把数字转换成中文
2015/06/29 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
python 图像增强算法实现详解
2021/01/24 Python
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
两只小狮子教学反思
2014/02/05 职场文书
婚前保证书
2014/04/29 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
关于召开会议的通知
2015/04/15 职场文书
2015年行政部工作总结
2015/04/28 职场文书
工作年限证明范本
2015/06/15 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL
Python实现Hash算法
2022/03/18 Python