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对象在后台转化java对象的问题探讨
Dec 20 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
Aug 18 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
简单的JS时钟实例讲解
Jan 13 Javascript
jQuery实现图像旋转动画效果
May 29 Javascript
js转换对象为xml
Feb 17 Javascript
微信小程序开发之map地图实现教程
Jun 08 Javascript
JavaScript订单操作小程序完整版
Jun 23 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
Dec 25 Javascript
vue中render函数的使用详解
Oct 12 Javascript
javascript解析json格式的数据方法详解
Aug 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轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
php实现简单文件下载的方法
2015/01/30 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
php使用正则验证中文
2016/04/06 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
英国工具中心:UK Tool Centre
2017/07/10 全球购物
优秀学生干部推荐材料
2014/02/03 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
学校施工安全责任书
2015/01/29 职场文书
项目安全员岗位职责
2015/02/15 职场文书
幼儿园开学通知
2015/04/24 职场文书
大学团日活动总结书
2015/05/11 职场文书
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript