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的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
详解new function(){}和function(){}() 区别分析
Mar 22 Javascript
IE8 浏览器Cookie的处理
Jan 31 Javascript
再谈ie和firefox下的document.all属性
Oct 21 Javascript
js数组的操作指南
Dec 28 Javascript
jquery实现图片水平滚动效果代码分享
Aug 26 Javascript
javascript计时器编写过程与实现方法
Feb 29 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
JS实现可视化文件上传
Sep 08 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 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遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
监听element-ui table滚动事件的方法
2019/03/26 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
关于环保的演讲稿
2014/05/10 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
针对吵架老公保证书
2015/05/08 职场文书
民事诉讼代理词
2015/05/25 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
Python 键盘事件详解
2021/11/11 Python
OpenCV实现反阈值二值化
2021/11/17 Java/Android
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
利用Apache Common将java对象池化的问题
2022/06/16 Servers
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL