[JavaScript][ES6] 之 箭头函数 详解

[JavaScript] ES6 之 箭头函数 详解

  • 时隔长达一个月,我又回来了,我胡汉三又回来了。
  • 见多了土木工程施工员提桶跑路去当程序员的,可曾见过程序员提桶跑路下工地。。。。
  • 废话不多说,切入正题

ES6 箭头函数 () => {}

  • 箭头函数,即一个不用写function的,优雅的,简洁的······函数

语法

// 无参
() => { }

// 有参
参数1 => { }

// 多参
(参数1,参数2) => { }

// 直接返回值
(a,b) => a+b;
// 等同于
function(a,b) {
	return a+b;
}
  • 以下两个函数是等价的
function go() {}
let go = () => { }
  • 以下两个函数同样也是等价的
function go(a) { return a; }
let go = a => a;
  • 箭头函数方便的地方
  • 假如你只需要简单的实现一下计算功能 或者 你需要判断一下(三元表达式也是个不错的选择)
let go = n => n*2;
go(2);
// 返回值 4

let right = n => n%2==0;
go(3);
// 返回值 false

特性

  • 值得注意的是,箭头函数最大的特点就是不会改变this的指向
  • 也就是说,在箭头函数里的this并不会指向调用者本身
  • 接下来我们做一个小实验来查看一下
let btn = document.querySelector('button');
			
btn.onclick = function(){
	console.log(this);
}

在这里插入图片描述

  • 可以看到,普通函数的 this 指向了调用者 button 按钮,那么箭头函数呢
let btn = document.querySelector('button');
			
btn.onclick = () => {
	console.log(this);
}

在这里插入图片描述

  • 箭头函数的指向,与函数外面一致,直接给我们返回了顶层对象 window

  • 总结得出: 要用到 调用者本身这个 this 对象的函数,不要使用箭头函数,比如 this.className 等DOM操作

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值