第四课:ES6新语法:箭头函数(2021/4/21)

本文介绍了ES6中的箭头函数,它简化了函数定义的语法。当函数体只包含一句返回语句时,可以省略大括号。特别地,箭头函数不绑定this,其this值取决于函数定义的位置。

一、箭头函数是用来简化函数定义语法的

() =>{}
const fn = () =>{}

// 在箭头函数中 如果函数体中只有一句代码,并且代码的执行结果就是函数的返回值 函数体大括号可以省略

const sum = (n1,n2) =>{
        return n1 + n2;
}
// 可以简化为:
const sum = (n1,n2) => n1 + n2;
// 如果形参只有一个,可以省略小括号
function fn(v){
        return v;
}
const fn = v => v;

二、箭头函数不绑定this关键字,箭头函数中的this,指向的是函数定义位置的上下文this。

// 箭头函数不绑定this 箭头函数没有自己的this关键字 如果在箭头函数中使用this
// this 关键字将指向箭头函数定义位置中的this
function fn(){
        console.log(this);
        return () =>{
                console.log(this);
        }

}
const obj = {name:'zhangshan'};

const resFn = fn.call(obj);

resFn();
// this 方法的函数
var obj = {
        age:20,
        // obj是对象,不能产生作用域,实际上,这个this指向了全局作用域
        // 箭头函数没有自己的this
        say: ()=>{
                console.log(this.age);
        }
}

obj.say(); //undefined
// 非箭头函数
var obj = {
        age:20,
        say:function(){
                console.log(this.age);
        }
}

obj.say(); //20
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值