ES6:箭头函数

ES6:箭头函数

一、箭头函数

(一)标准写法

<script>
    const fn = () => {
        console.log(123);
    };

    fn();
</script>

(二)方法执行体单行

<script>
    const sum = (a, b) => a + b;
    // 3
    console.log(sum(1, 2));
</script>

(三)单个形参

一个参数省略形参小括号

<script>
    const fn = v => {
        console.log(v);
    };
    // 123
    fn(123);
</script>

二、可变参数函数

<script>
    const sum = (...args) => {
        let total = 0;
        args.forEach(item => total += item);
        return total;
    };
    console.log(sum(1, 2, 3, 4));
</script>

三、箭头函数this指向

  • 函数体内的this对象,是定义时所在的对象不是使用时所在的对象
  • 即使是call,apply,bind等方法也不能改变箭头函数this的指向

(一)坑

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button id="normal">普通函数</button>
<button id="arrow">箭头函数</button>
<script>
    window.onload = function () {
        document.querySelector('#normal').addEventListener('click', function () {
            // <button id="normal">普通函数</button>
            console.log(this);
        });

        document.querySelector('#arrow').addEventListener('click', () => {
            // Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
            console.log(this);
        });
    };
</script>
</body>
</html>

四、参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yimtcode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值