一个关于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 相关文章推荐
js中更短的 Array 类型转换
Oct 30 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
Mar 28 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
Mar 26 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
vuejs动态组件给子组件传递数据的方法详解
Sep 09 Javascript
javascript实现秒表计时器的制作方法
Feb 16 Javascript
ReactNative实现Toast的示例
Dec 31 Javascript
vue axios登录请求拦截器
Apr 02 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
微信小程序dom操作的替代思路实例分析
Dec 06 Javascript
Vue props中Object和Array设置默认值操作
Jul 30 Javascript
jQuery ajax - getScript() 方法和getJSON方法
May 14 jQuery
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编写的导航条程序
2006/10/09 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
python实现在windows下操作word的方法
2015/04/28 Python
简单理解Python中的装饰器
2015/07/31 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
你的自行车健身专家:FaFit24
2016/11/16 全球购物
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
学习自我鉴定
2014/02/01 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
同意转租证明
2015/06/24 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
《法国号》教学反思
2016/02/22 职场文书