一个关于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 相关文章推荐
基于jQuery的倒计时实现代码
May 30 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
JavaScript包装对象使用详解
Jul 09 Javascript
js判断是否为空和typeof的用法(详解)
Oct 07 Javascript
微信小程序 Page()函数详解
Oct 17 Javascript
BootStrap树状图显示功能
Nov 24 Javascript
JS中关于正则的巧妙操作
Aug 31 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
Nov 07 Javascript
axios拦截设置和错误处理方法
Mar 05 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
Jun 06 Javascript
详解Vue取消eslint语法限制
Aug 04 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 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
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
通过DOM脚本去设置样式信息
2010/09/19 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
小程序绑定用户方案优化小结
2019/05/15 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
wxPython之解决闪烁的问题
2018/01/15 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
印度购物网站:TATA CLiQ
2017/11/23 全球购物
护理毕业生自荐信范文
2013/12/22 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
模范教师事迹材料
2014/02/10 职场文书
《老王》教学反思
2014/02/23 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
寒假家长评语大全
2014/04/16 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
初中作文评语集锦
2014/12/25 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python