WEB前端:ES6(3):箭头函数

// // 原来的函数使用
// let fn = function(a, b) {
//     console.log(a + b);
// }
// fn(4, 6);
// 箭头函数 无function关键字 在函数参数与函数体之间用箭头连接 
let fn = (a, b) => {
    console.log(a + b);
}

fn(1, 2);
// 当函数只有一个形参 小括号可以省略
let fn = a => {
    console.log(a);
}

fn(1);
/*
let fn3 = (m,n)=>{
    return m+n;
};*/
// 上面的只有一条return语句 可以简写为下面的省略大括号
let fn3 = (m, n) => m + n;
console.log(fn3(4, 7));
// 可以给形参设置默认值
let fn3 = (m = 1, n = 5) => m + n;
console.log(fn3(4));

在这里插入图片描述

let fun = x => y => x + y;
let res = fun(5)(6);
console.log(res);
/*
  function fun(x) {
      return function(y) {
          return x+y;
      }
  }
*/

在这里插入图片描述


// 1 箭头函数内部没有arguments
/*
function fn() {
    console.log(arguments);
}
*/
// ... 剩余运算符 
let fn4 = (a, ...arguments) => {
    console.log(arguments); // 数组
}

fn4(1, 2, 3, 4);

在这里插入图片描述

let obj = {
    fn: (function() {
        return function() {
            console.log(this === obj);
        }
    })()
};
obj.fn(); // 对象打点调用,那么函数中的this就是这个对象

在这里插入图片描述

let obj = {
    fn: (function() {
        return function() {
            console.log(this);
        }
    })()
};
obj.fn.call(window); // 普通函数可以通过call去改变this

在这里插入图片描述

//箭头函数的this和执行环境有关,继承上下文 无法通过call/apply/bind改变箭头
// 函数的this
let obj = {
    fn: (function() {
        return () => {
            console.log(this);
        }
    })()
};
obj.fn.call(obj);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值