JavaScript 12

字数 723阅读 12

函数的声明方式

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的异步操作,就需要回调函数。

你不是一个人,有人在等你,为了她,一定要不停的奔跑,不停的进步,不停的成长

推荐阅读更多精彩内容