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 ajax serialize() 方法使用示例
Nov 02 Javascript
node.js中的console用法总结
Dec 15 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
Jun 29 Javascript
Vue.js 60分钟快速入门教程
Mar 28 Javascript
详解Vue2.0之去掉组件click事件的native修饰
Apr 20 Javascript
xmlplus组件设计系列之图标(ICON)(1)
May 05 Javascript
详解为Bootstrap Modal添加拖拽的方法
Jan 05 Javascript
Vue中的无限加载vue-infinite-loading的方法
Apr 08 Javascript
简化版的vue-router实现思路详解
Oct 19 Javascript
完美解决通过IP地址访问VUE项目的问题
Jul 18 Javascript
vue实现单一筛选、删除筛选条件
Oct 26 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 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
mysql建立外键
2006/11/25 PHP
php中变量及部分适用方法
2008/03/27 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
jquery中radio checked问题
2015/03/16 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
input框中的name和id的区别
2016/11/16 Javascript
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
python K近邻算法的kd树实现
2018/09/06 Python
Python实现AI换脸功能
2020/04/10 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
python中pdb模块实例用法
2021/01/15 Python
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
J2EE模式面试题
2016/10/11 面试题
婚假请假条怎么写
2014/04/10 职场文书
社团活动总结怎么写
2014/06/30 职场文书
个人作风建设自查报告
2014/10/22 职场文书
广播体操比赛主持词
2015/06/29 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
Java输出Hello World完美过程解析
2021/06/13 Java/Android