12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- //! 箭头函数
- // ES6 允许使用“箭头”(`=>`)定义函数。
- //TODO 语法: (arg1, arg2, ..., argN) => { statements }
- // 下面就是定义一个箭头函数
- let sum = (x, y) => {
- return x + y;
- };
- // 等价于
- function sum1(x, y) {
- return x + y;
- }
- console.log(sum(2, 3)); // 5
- //! 仅有一个参数时,定义新参的圆括号可以省略.但是没有参数 圆括号必有有,是语法的一部分。
- let f = () => {
- console.log(v);
- };
- //! 在花括号中编写函数体代码,当函数体中只有一个表达式时,可以省略花括号,同时表达式的值会自动作为函数的返回值
- let sum2 = (x, y) => x + y;
- console.log(sum2(2, 3)); // 5
- //! 箭头函数主要的应用场景:就是替代传统的回调函数
- var arr = [1, 2, 3, 4];
- var total = 0;
- // arr.forEach(function (v) {
- // total += v;
- // });
- // 使用箭头函数, 使得代码更加简洁
- arr.forEach((v) => (total += v));
- console.log(total);
- /**
- *! 面试考点(先背下来)
- ** 箭头函数与function定义函数的区别:
- * 1. 箭头函数没有自己的`this`,会从父级作用域中继承下来。
- * 2. 不可以当作构造函数,也就是说,不可以对箭头函数使用`new`命令,否则会抛出一个错误。
- * 3. 不可以使用`arguments`对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
- * 4. 不可以使用`yield`命令,因此箭头函数不能用作 Generator(生成器) 函数。
- */
|