函数的声明方式
A.基本语法 function 关键字
function 函数名([参数1],[参数2]....){
函数体
[retrun] //返回值
}
B.字面量定义的形式(匿名函数)
var 变量=function ([参数1],[参数2]....){
函数体
[retrun] //返回值
}
C.以对象的形式来声明new 关键字。
var 变量=new Function([参数1],[参数2]...,"函数体");
定义函数的方式
一、函数声明(function关键字)
二、函数表达式 ( 匿名函数)
函数声明提升
关于函数声明,它的一个重要特征就是函数声明提升,
意思是在执行代码之前会先读取函数声明,这就意味着可以
把函数声明放在调用它的语句后面。
show();
function show(){
alert(“hello world”)
}
这个不会抛出错误,因为在代码执行之前会先读取函数声明
函数表达式
var foo=function(arg0,arg1,arg2){
//函数体
};
创建一个函数并将它赋值给变量foo,这种情况下创建的函数叫匿名函数,因为function关键字后面没有标识符。
匿名函数就是没有实际名字的函数
(匿名函数有时候也叫拉姆达函数)
匿名函数的调用
通过括号来调用
– 变量名()
自调用
– (function (){})()
(+ - ! ~ ())
要调用一个函数,我们必须要有方法定位它,引用它。所以,我们会需要帮它找一个名字。例如:
var abc=function(x,y){
return x+y;
}
alert(abc(2,3)); // "5"
上面的操作其实就等于换个方式去定义函数,这种用法是我们比较频繁遇到的。例如我们在设定一个DOM元素事件处理函数的时候,我们通常都不会为他们定名字,而是赋予它的对应事件引用一个匿名函数。
对匿名函数的调用其实还有一种做法,也就是我们看到的jQuery 片段—— 使用() 将匿名函数括起来,然后后面再加一对小括号(包含参数列表)。我们再看一下以下例子:
alert((function(x,y){return x+y;})(2,3));// "5"
使用匿名函数的情况
语法:function(){函数体;}
因为是匿名函数,所以一般也不会有参数传给他。
为什么要创建匿名函数呢?在什么情况下会使用到匿名函数。匿名函数主要有两种常用的场景,一是回调函数,二是直接执行函数。
回调函数,像ajax的异步操作,就需要回调函数。
你不是一个人,有人在等你,为了她,一定要不停的奔跑,不停的进步,不停的成长
网友评论