javascript 匿名函数
来源:互联网 发布:淘宝介入买家输了可以 编辑:程序博客网 时间:2024/06/06 18:58
函数的定义,大致可分为三种方式:
function double(x){
return 2 * x;
}
第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为字符串,很不方便,不建议使用。
var double = new Function('x','return 2 * x;');
第三种:
var double = function(x) { return2* x; }
注意“=”右边的函数就是一个匿名函数,创造完毕函数后,又将该函数赋给了变量double。
匿名函数的创建
第一种方式:就是上面所讲的定义double函数,这也是最常用的方式之一。
(
function(x, y){
alert(x + y);
}
)(2, 3);
这里创建了一个匿名函数(在第一个括号内),第二个括号用于调用该匿名函数,并传入参数。括号是表达式,是表达式就有返回值,所以可以在后面加一对括号让它们执行.
自执行的匿名函数
1. 什么是自执行的匿名函数?它是指形如这样的函数: (function {// code})();
2. 疑问
为什么(function {// code})();可以被执行, 而function {// code}();却会报错?
3. 分析
(1). 首先, 要清楚两者的区别:
(function {// code})是表达式, function {// code}是函数声明.
(2). 其次, js"预编译"的特点:
js在"预编译"阶段, 会解释函数声明, 但却会忽略表式.
(3). 当js执行到function() {//code}();时, 由于function() {//code}在"预编译"阶段已经被解释过, js会跳过function(){//code}, 试图去执行();, 故会报错;
当js执行到(function {// code})();时, 由于(function {// code})是表达式, js会去对它求解得到返回值, 由于返回值是一 个函数, 故而遇到();时, 便会被执行.
另外, 函数转换为表达式的方法并不一定要靠分组操作符(),我们还可以用void操作符,~操作符,!操作符……
如:
!function(){
alert("另类的匿名函数自执行");
}();
匿名函数的作用:
1 创建闭包
2 构建命名空间,以减少全局变量的使用
0 0
- Javascript的匿名函数
- Javascript匿名函数
- JavaScript中匿名函数
- javascript匿名函数
- Javascript的匿名函数
- javascript匿名函数
- Javascript的匿名函数
- Javascript的匿名函数
- Javascript的匿名函数
- Javascript的匿名函数
- Javascript匿名函数
- Javascript的匿名函数
- Javascript的匿名函数
- Javascript匿名函数
- Javascript匿名函数解读
- javascript匿名函数
- javascript匿名函数
- javascript中的匿名函数
- C# 抽象类和抽象方法
- sql 数据类型
- 非开发人员获取ios crashlog方法 .
- 使用SiteMesh简化网页布局
- NumPy的详细教程
- javascript 匿名函数
- java基础中个人容易觉得容易不在意但常用的问题
- windows路径操作API函数
- hibernate向mysql插入数据后,得到该条数据主键的方法
- 最大似然估计
- Android数据的四种存储方式
- s2sh三大框架整合
- SQL 子查询
- 后座乘客挡住了后视镜?Nissan:让他消失