js es6箭头函数和普通函数的区别

普通函数在es5中就有了,箭头函数是es6中出现的函数形式,当然也可以继续用普通函数。

1、普通函数

let a=function(){
	return 1+1
}

let b=function(x){
	return x
}

let c=function(a){
	let x=5;
	return x+a
}

2、箭头函数
更简短的函数
单条处理可以省略return和{大括号}
单个参数可以省略(小括号)

let a=()=>1+1

let b=x=>x

let c=(a)=>{
	let x=5
	return a+x
};

1、不绑定this
箭头函数,this代表上层对象,若无自定义上层,则代表window。
普通函数,this代表当前对象。

2、不绑定arguments
箭头函数不绑定arguments,但是可使用…rest参数
这是普通函数arguments,可以使用

3、箭头函数不能使用new操作符
箭头函数不能用作构造器,和 new一起用会抛出错误。

var Foo = () => {};
var foo = new Foo(); // TypeError: Foo is not a constructor

4、箭头函数没有prototype属性
箭头函数没有原型属性。
prototype是普通函数用于获取原型对象的。

5、箭头函数的bind()、call()或apply()函数,不会影响到this的代表对象。
箭头函数内的this指向上层对象,bind()、call()、apply()均无法改变指向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值