一个关于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 相关文章推荐
Javascript 页面模板化很多人没有使用过的方法
Jun 05 Javascript
javascript实现字符串反转的方法
Feb 05 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
Dec 13 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
May 26 Javascript
Canvas实现放射线动画效果
Feb 15 Javascript
纯js仿淘宝京东商品放大镜功能
Mar 02 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
JavaScript实现时间表动态效果
Jul 15 Javascript
深入探究node之Transform
Jul 20 Javascript
node结合swig渲染摸板的方法
Apr 11 Javascript
angularJs利用$scope处理升降序的方法
Oct 08 Javascript
微信小程序云开发实现云数据库读写权限
May 17 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音乐采集(部分代码)
2007/02/14 PHP
PHP获取网站域名和地址的代码
2008/08/17 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
php中adodbzip类实例
2014/12/08 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
python操作日期和时间的方法
2014/03/11 Python
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
如何更优雅地写python代码
2019/07/02 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
台湾旅游网站:灿星旅游
2018/10/11 全球购物
佳能法国商店:Canon法国
2019/02/14 全球购物
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
社区三八妇女节活动总结
2015/02/06 职场文书
放假通知
2015/04/14 职场文书
纪录片信仰观后感
2015/06/08 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
Python使用openpyxl批量处理数据
2021/06/23 Python
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏