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 相关文章推荐
jQuery 使用手册(二)
Sep 23 Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
Jan 01 Javascript
文字不间断滚动(上下左右)实例代码
Apr 21 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 Javascript
jquery实现左右滑动式轮播图
Mar 02 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
Jan 10 Javascript
vue父组件点击触发子组件事件的实例讲解
Feb 08 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
Aug 31 Javascript
vue+egg+jwt实现登录验证的示例代码
May 18 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 Smarty模版简单使用方法
2016/03/30 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
validator验证控件使用代码
2010/11/23 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
webpack实用小功能介绍
2018/01/02 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
[02:26]2016国际邀请赛8月3日开战 中国军团出征西雅图
2016/08/02 DOTA
复制粘贴功能的Python程序
2008/04/04 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python操作excel让工作自动化
2019/08/09 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
什么是数组名
2012/05/10 面试题
小学教师教学随笔
2015/08/14 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers
python保存图片的四个常用方法
2022/02/28 Python