一个关于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 01 Javascript
JavaScript中的typeof操作符用法实例
Apr 05 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
javascript实现tab切换的四种方法
Nov 05 Javascript
学习javascript面向对象 理解javascript原型和原型链
Jan 04 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
JS实现的多张图片轮流播放幻灯片效果
Jul 22 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
js select下拉联动 更具级联性!
Apr 17 Javascript
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
jQuery each和js forEach用法比较
Feb 27 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与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
2015/02/23 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
实例说明Python中比较运算符的使用
2015/05/13 Python
python九九乘法表的实例
2017/09/26 Python
Python找出最小的K个数实例代码
2018/01/04 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
python实现月食效果实例代码
2019/06/18 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
人事专员职责
2014/02/22 职场文书
原材料检验岗位职责
2014/03/15 职场文书
租房协议书
2014/09/12 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang