一个关于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在子页面中函数无法调试问题解决方法
Jan 17 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
JS实现在网页中弹出一个输入框的方法
Mar 03 Javascript
js比较日期大小的方法
May 12 Javascript
js实现获取div坐标的方法
Nov 16 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 Javascript
深入探究angular2 UI组件之primeNG用法
Jul 26 Javascript
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
Vue前后端不同端口的实现方法
Sep 19 Javascript
js module大战
Apr 19 Javascript
vue 子组件和父组件传值的示例
Sep 11 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
windows下安装php的memcache模块的方法
2015/04/07 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
简述AngularJS相关的一些编程思想
2015/06/23 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
获取url中用&隔开的参数实例(分享)
2017/05/28 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
python对字典进行排序实例
2014/09/25 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
python二维键值数组生成转json的例子
2019/12/06 Python
python 伯努利分布详解
2020/02/25 Python
Python count函数使用方法实例解析
2020/03/23 Python
python退出循环的方法
2020/06/18 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
详解python对象之间的交互
2020/09/29 Python
意大利奢侈品网站:Italist
2016/08/23 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
园林毕业生自我鉴定范文
2013/12/29 职场文书
协议书范本
2014/04/23 职场文书
2014年学生会工作总结
2014/11/07 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
Java实现给Word文件添加文字水印
2022/02/15 Java/Android
Vue监视数据的原理详解
2022/02/24 Vue.js