一个关于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 相关文章推荐
接收键盘指令的脚本
Jun 26 Javascript
使用JQuery进行跨域请求
Jan 25 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
Feb 23 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
js仿微博实现统计字符和本地存储功能
Dec 22 Javascript
javascript验证香港身份证的格式或真实性
Feb 07 Javascript
easyui combogrid实现本地模糊搜索过滤多列
May 13 Javascript
[js高手之路]寄生组合式继承的优势详解
Aug 28 Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
JS实现手风琴特效
Nov 08 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
php实现的MySQL通用查询程序
2007/03/11 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
机械专业应届生求职信
2013/09/21 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
公司活动邀请函
2014/01/24 职场文书
网站客服岗位职责
2014/04/05 职场文书
大型营销活动计划书
2014/04/28 职场文书
心得体会的写法
2014/09/05 职场文书
卖房协议书样本
2014/10/30 职场文书