js——箭头函数的简单介绍

目的:引入箭头函数的目的是更简短的函数写法并且不绑定this,箭头函数的语法比函数表达式更简洁。

使用场景:箭头函数更适用于那些本来需要匿名函数的地方。

一、基本语法

1.基本写法

// 普通函数
    const fun = function () {
      console.log('普通函数');
    }
    fun()
 // 箭头函数基本语法
    const fn = () => {
      console.log('箭头函数基本语法');
    }
    fn()

2.只有一个形参时,可以省略小括号

const fn1 = (x) => {
      console.log(x);
    }
    fn1(1)

// 只有一个形参时,可以省略小括号
    const fn2 = x => {
      console.log(x);
    }
    fn2(1)

3.如果函数体只有一行代码,可以写到一行上,并且无需写return直接返回值

// 只有一行代码时,可以省略大括号
    const fn3 = x => console.log(x);
    fn3(1)

// 只有一行代码时,可以省略return
    const fn4 = x => x + x
    console.log(fn4(1));

4.加括号的函数体返回对象字面量表达式

// 箭头函数可以直接返回一个对象
    const fn5 = (uname) => ({ uname: uname })
    console.log(fn5('返回对象'));

注意: 箭头函数属于表达式函数,因此不存在函数提升

二、箭头函数参数

1.普通函数有arguments 动态参数

2.箭头函数没有 arguments 动态参数,但是有剩余参数...args

// 利用箭头函数、剩余参数求和
    const Sum = (...arr) => {
      let s = 0
      for (let i = 0; i < arr.length; i++) {
        s += arr[i]
      }
      return s //函数体有多行代码return不能省
    }
    console.log(Sum(2, 3, 4));

三、箭头函数this

在箭头函数出现之前,每一个新函数根据它是被如何调用的来定义这个函数的this值。

> 箭头函数不会创建自己的this,它只会从自己的作用域链的上一层沿用this。

例1: 

例2:

例3: 

注意:在开发中【使用箭头函数前需要考虑函数中this 的值】,事件回调函数使用箭头函数时,this为全局的window,因此DOM事件回调函数为了简便,还是不太推荐使用箭头函数。

// 箭头函数的this问题
    // DOM节点
    const btn = document.querySelector('.btn')
    // 箭头函数 此时this指向了window
    btn.addEventListener('click', () => {
      console.log(this);
    })
    // 普通函数 此时this指向了DOM对象
    btn.addEventListener('click', function () {
      console.log(this);
    })

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值