js匿名函数的调用示例(形式多种多样)


Posted in Javascript onAugust 20, 2014

匿名函数就是没有实际名字的函数。

javaScript的匿名函数形式多样,而且不搞清楚,容易看晕代码。

以下是成功调用的匿名函数:

(function () {

alert(3);

})

();
(function f1() {

alert(4);

})(); //不是匿名函数也能这样调用!!
void function(){

alert('void water');

}();//据说效率最高,Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

!function(){

alert('!water');

}(); //运算符+匿名函数调用
(function(){

alert('water');

}());//小括号+匿名函数,有点强制执行的味道~

使用匿名函数也要注意经常犯的错误:
//错误写法1

(function f1() {

alert(5);

})f1(); //这不是匿名函数了!
//错误写法2

(function () {

alert(6);

}); //语法没有错误,没有调用的匿名函数,后面也没有机会调用了,因为没有名字,找不到调用入口。
//错误写法3

function () {

alert(1);

}();//没有产生函数的引用就调用

另外要注意理解小括号的作用。

小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function对象。因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。

Javascript 相关文章推荐
JS拖动技术 关于setCapture使用
Dec 09 Javascript
使用隐藏的new来创建对象
Mar 29 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
JS实现slide文字框缩放伸展效果代码
Nov 05 Javascript
JavaScript正则表达式实例详解
Oct 16 Javascript
浅谈JS中的反柯里化( uncurrying)
Aug 17 Javascript
js使用原型对象(prototype)需要注意的地方
Aug 28 Javascript
JavaScript模板引擎实现原理实例详解
Dec 14 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
vue 检测用户上传图片宽高的方法
Feb 06 Javascript
JavaScript实现商品评价五星好评
Nov 30 Javascript
javascript对中文按照拼音排序代码
Aug 20 #Javascript
JS辨别访问浏览器判断是android还是ios系统
Aug 19 #Javascript
JS中实现简单Formatter函数示例代码
Aug 19 #Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 #Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 #Javascript
js选择并转移导航菜单示例代码
Aug 19 #Javascript
js遍历子节点子元素附属性及方法
Aug 19 #Javascript
You might like
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
PHP检测用户语言的方法
2015/06/15 PHP
PHP生成plist数据的方法
2015/06/16 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
Async/Await替代Promise的6个理由
2019/06/15 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
中间件分为哪几类
2016/09/18 面试题
教育系毕业生中文求职信范文
2013/10/06 职场文书
女子职高个人自荐书
2014/02/01 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
个人委托函范文
2015/01/29 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js