一个关于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中几种去掉字串左右空格的方法
Dec 25 Javascript
漂亮的提示信息(带箭头)
Mar 21 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
May 26 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
Mar 20 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
js获取时间函数及扩展函数的方法
Oct 30 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
Feb 16 Javascript
深入理解Vue的数据响应式
May 15 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
PDO防注入原理分析以及注意事项
2015/02/25 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP实现QQ空间自动回复说说的方法
2015/12/02 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
python自定义时钟类、定时任务类
2021/02/22 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
2020/01/16 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
商务英语求职自荐信范文
2013/12/24 职场文书
《赶海》教学反思
2014/04/20 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
践行三严三实心得体会
2014/10/13 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
担保书范本
2015/01/20 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
湘江北去观后感
2015/06/15 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis