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实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
用JQUERY增删元素的代码
Feb 14 Javascript
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
JavaScript实现99乘法表及隔行变色实例代码
Feb 24 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
Mar 11 Javascript
限制复选框最多选择项的实现代码
May 30 Javascript
javascript入门之数组[新手必看]
Nov 21 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
Mar 16 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 Javascript
Element Alert警告的具体使用方法
Jul 27 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
德生PL330测评
2021/03/02 无线电
php adodb连接带密码access数据库实例,测试成功
2008/05/14 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
对联广告js flash激活
2006/10/19 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
Python的面向对象编程方式学习笔记
2016/07/12 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
八年级数学教学反思
2014/01/31 职场文书
一文带你探究MySQL中的NULL
2021/11/11 MySQL
python中的sys模块和os模块
2022/03/20 Python