ES5中:
正常函数:
- function 函数名 ([参数列表]){…… }
函数表达式:
- 将声明的函数赋值给一个变量,通过变量完成函数的调用和参数的传递
- var 变量名=function 函数名(参数列表) {……}
- 函数调用时,只能采用
“变量名()
”的方式,不能采用函数名称调用。var fn=function ha(){… …}; fn();
匿名函数:
-
匿名函数指的是没有名称的函数,可以有效地避免全局变量的污染以及函数名的冲突问题。下列两种写法:
-
var 函数名 =function ([参数列表]) {……},函数名(实参列表)
-
(function(参数列表){……}) (实参列表)
ES6中:
ES6中引入了一种新的语法来编写匿名函数。我们称之为匿名函数。
-
用法一:标准语法
(P1,P2,P3…PN) => {statements} -
用法二:返回值
(P1,P2,P3…PN) => {return expression;}
或 (P1,P2,P3…PN) => expression -
用法三:含有一个参数:
(Param)=> { Statemests ;}
或 Param = >{Statements;} -
用法四:无参箭头函数:
()=> {statements;}
或:_ =>{statements;}
解释:
- 在上述语法中,箭头“=>”前小括号内是传递的参数,箭头“=>”后花括号“{}”中的是函数体
- 当函数体只有一条语句时,可以省略花括号不写
- 函数体只有一条语句,并且 函数体中只有一条返回值语句时,可以同时省略花括号“{}”和ruturn关键字
- 当参数列表只有一个参数时,可以省略小括号
- 当箭头函数没有参数时,箭头“=>”前必须有小括号“()”或下划线"_"。