匿名函数
来源:互联网 发布:淘宝青石板 编辑:程序博客网 时间:2024/05/03 05:07
以下全是个人理解以及网上查找而来,如有不对请指正...
匿名函数
几种匿名的写法
(function(){})();最常见到的;
(function(){}());
void function(){};
错误的写法
function(){}();
为什么会这样了, 看看函数声明的语法和函数表达式的语法说明
一.函数声明
function name([param[, param[, ... param]]]) {
statements
}
这里的函数名称name是不可以省略的,省略了函数名就会报错
function (){alert('eee')}
因为编译器当他是函数声明而代码中没有函数名,所以就报错了.
二.函数表达式
function [name]([param] [, param] [..., param]) {
statements
}
函数名称name可以被省略,省略name就是所谓的匿名函数.
说明一点:如果需要创建匿名函数,则必须给出一个函数表达式而非函数的显式声明
1/2/3匿名函数代码模式只不过是通过括号或者void告诉编译器,把function(){}当作函数表达式来解释罢了。这其中并没有那么复杂的优先级和void操作符原理。这只不过是一个简单的语法转换。
可以想象,只要符合函数表达式的语法,我们就可以创建出N种匿名函数代码模式,比如
!!function(){
alert('yo');
}()
+function(){
alert('yo');
}()
完了 唉 好象上面都是转载的别人的 嘿嘿
顺便写写匿名函数的好处
能够不使用全局变量,防止变量冲突,不知道还有没有??????
还有就是 有些人看到(function(){})();
就说什么闭包 闭包
这可是错误的 要function中的 匿名函数 引用外部的变量 才能算是闭包.........
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- change custom cursor base on Fire fox
- DShow Filter 握手顺序
- 对游戏研发敏捷之路的一点分享
- 软件产品化, 国内IT人之痛
- JSTL标签用法:
- 匿名函数
- C#正则表达式详解整理
- java与.net的web service相互调用
- VC MFC 中 Class Wizard 不能正常工作的时候几种处理方法
- 堆和栈的区别 (转贴)
- Lost connection to MySQL server at ‘reading initial communication packet’, system error: 111
- jpa学习(个人整理,非转帖)详细请下载 http://download.csdn.net/source/1995131
- 基础知识--构造函数 析构函数
- CSDN隆重开播