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 相关文章推荐
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
Nov 28 Javascript
JQuery魔力之$("tagName")与selector
Mar 05 Javascript
js编写当天简单日历效果【实现代码】
May 03 Javascript
js简单实现图片延迟加载的方法
Jul 19 Javascript
jQuery简单创建节点的方法
Sep 09 Javascript
深入理解Node.js中通用基础设计模式
Sep 19 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
Feb 23 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
Nov 02 Javascript
mpvue实现左侧导航与右侧内容的联动
Oct 21 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
form自动提交实例讲解
2017/07/10 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
python实现红包裂变算法
2016/02/16 Python
python爬虫的工作原理
2017/03/05 Python
举例讲解Python常用模块
2019/03/08 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
一道SQL存储过程面试题
2016/10/07 面试题
高中生毕业自我鉴定范文
2013/12/22 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
迎新生晚会主持词
2015/06/30 职场文书
八年级作文之感恩
2019/11/22 职场文书
理解深度学习之深度学习简介
2021/04/14 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python