一个关于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学习笔记之jQuery的DOM操作
Dec 22 Javascript
读jQuery之八 包装事件对象
Jun 21 Javascript
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
纯js写的分页表格数据为json串
Feb 18 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
使用JS+plupload直接批量上传图片到又拍云
Dec 01 Javascript
学习javascript文件加载优化
Feb 19 Javascript
jQuery日历插件datepicker用法详解
Mar 03 Javascript
如何写好你的JavaScript【推荐】
Mar 02 Javascript
微信小程序画布圆形进度条显示效果
Nov 17 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
Apr 13 Javascript
如何使用vue3打造一个物料库
May 08 Vue.js
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中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
python之随机数函数的实现示例
2020/12/30 Python
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
劳动之星获奖感言
2014/02/01 职场文书
文明村创建实施方案
2014/03/27 职场文书
《大海那边》教学反思
2014/04/09 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
升学宴来宾致辞
2015/07/27 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技