一个关于javascript匿名函数的问题分析


Posted in Javascript onMarch 30, 2012

匿名函数,就是没有名字的函数。如:

function (){ 
alert('a function'); 
}

但是,上面的代码会报错。firebug提示:function statement requires a name,也就是:函数必须要有个名字。

奇怪的是,如果我用一对()把这个没有名字的函数包起来,就不会报错了。如:

(function (){ 
alert('a function'); 
})

(注意包裹函数的()!).虽然这样不会报错,但谁能知道这个函数是否声明成功了呢?是不是因为根本没声明所以才不报错呢?我们这样来测试:让函数自己执行一次:
(function (){ 
alert('a function'); 
}())

可以看到,函数执行了,表明函数是存在的。

同样,如果这个时候去掉包裹函数的(),则依然会报前面那个错,函数也执行不了。。。

function (){ 
alert('a function'); 
}()

这对包裹函数的(),真有这么重要?哪位高手解释一下原理呢?
Javascript 相关文章推荐
ECMAScript 基础知识
Jun 29 Javascript
jQuery列表拖动排列具体实现
Nov 04 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
jquery的父子兄弟节点查找示例代码
Mar 03 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
Jun 18 Javascript
详谈JS中实现种子随机数及作用
Jul 19 Javascript
图文详解JavaScript的原型对象及原型链
Aug 02 Javascript
Bootstrop实现多级下拉菜单功能
Nov 24 Javascript
使用JS获取SessionStorage的值
Jan 12 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
js实现抽奖功能
Nov 24 Javascript
JavaScript 基础篇(一)
Mar 30 #Javascript
js确定对象类型方法
Mar 30 #Javascript
js 浏览器事件介绍
Mar 30 #Javascript
js中eval详解
Mar 30 #Javascript
关于jquery性能最佳实践的讨论,与求教
Mar 30 #Javascript
从面试题学习Javascript 面向对象(创建对象)
Mar 30 #Javascript
jQuery 自定义函数写法分享
Mar 30 #Javascript
You might like
如何开始收听短波广播
2021/03/01 无线电
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
Python+django实现文件下载
2016/01/17 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
中职应届生会计求职信
2013/10/23 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
创建文明城市标语
2014/06/16 职场文书
PHP RabbitMQ消息列队
2022/05/11 PHP
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL