提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在JavaScript中,我们声明一个函数的形式是:function关键字、函数名称、函数参数和函数体.
function name(params){
//do something
}
也可以创建匿名函数,形式是:省略函数的名称,并赋值给一个变量或者是对象中的某一个属性,又或者直接调用。
var name = function(params){
//do something
}
在ES6中,引入了箭头函数,作为声明匿名函数的一种新方式。
提示:以下是本篇文章正文内容
一、声明方式
1.不省略函数参数的小括号
箭头函数和匿名函数的声明方式区别在于,箭头函数缺少了function关键词,并在函数参数的右侧增加了一个箭头=>
var name = (params) => {
//do something
}
2.省略函数参数的小括号
箭头函数在没有参数或者只有一个参数的情况下可以省略掉小括号(),代码更加简洁
var name = params => {
//do somthing
}
3.省略函数体的大括号
当箭头函数的函数体中表达式很简单时,我们省略掉函数体的大括号{},此时函数体的表达式就是整个函数体。当函数被调用时,表达式会进行计算,结果作为返回值返回。
var name = (params) => 'Tom'
如果箭头函数的返回值是对象形式,需要用小括号包裹对象
var person= (params) => ({name: "Tom"})
二、和一般函数的不同
- 箭头函数不能显式的命名
- 箭头函数不能用作构造函数,也没有prototype属性
- 箭头函数不能使用new关键词
- 箭头函数会绑定到所在的词法作用域,不会改变this的指向
二、总结
- 使用箭头函数可以简化代码结构
- 改变this指向