- 关于箭头参数:
- 如箭头函数没有参数,直接写一个空括号即可;
- 如箭头函数的参数只有一个,需要括号包裹参数;
- 如箭头函数的参数有多个,将参数依次用逗号 (,) 分隔,包裹在括号中即可;
- 关于箭头函数体:
- 箭头函数没有普通函数
function
关键字 - 如箭头函数的函数体只有一句代码,就是简单返回某个变量或者返回一个简单的 JS 表达式,可省去函数体花括号{}的
- 如箭头函数的函数体只有一句代码返回一个对象的话,需圆括号来包裹对象的
- 如箭头函数的函数体只有一条语句并且不需要返回值(最常见是调用一个函数),可给这条语句前面加一个 void 关键字
- 箭头函数没有普通函数
- 区别在于:
- 箭头函数本质:
- 语法更加简洁,清晰;
- 箭头函数就是匿名函数;
- 箭头函数不会创建自己 this,会从自己作用域链外层继承 this;因为箭头函数中 this 的指向在被定义时候已确定,永远改变不了的
- 普通函数本质:
- new 的本质生成新对象,将该对象的_proto_(原型链) 指向函数的 prototype (原型),再执行 call 方法,最后将新对象赋值给已声明变量
- 在其作用域链中创建 this 执行上下文,且优先级 new > bind > obj > window
- 可声明几个函数,比如函数表达式,函数生命,匿名函数
- 箭头函数本质: