js箭头函数和普通函数的区别是什么?
ES6标准新增了一种新的函数:Arrow Function(箭头函数)。下面我们就来看一下JavaScript中箭头函数和普通函数的区别。
箭头函数和普通函数的区别:
一、外形不同:
箭头函数使用箭头定义,普通函数中没有。
// 普通函数
function func() {
// code
}
// 箭头函数
let func = () => {
// code
}
二、箭头函数全都是匿名函数:
普通函数可以有匿名函数,也可以有具名函数。
// 具名函数
function func() {
// code
}
// 匿名函数
let func = function() {
// code
}
三、箭头函数不能用于构造函数:
普通函数可以用于构造函数,以此创建对象实例。
四、箭头函数中this的指向不同:
this一直是让初学者比较头疼的概念。
在普通函数中,this总是指向调用它的对象或者,如果用作构造函数,它指向创建的对象实例。
五、箭头函数不具有arguments对象:
每一个普通函数调用后都具有一个arguments对象,用来存储实际传递的参数。但是箭头函数并没有此对象。
六、其他区别:
(1).箭头函数不能Generator函数。
(2).箭头函数不具有prototype原型对象。
(3).箭头函数不具有super。
(4).箭头函数不具有new.target。
码字很辛苦,转载请注明来自NAERENET的《js箭头函数和普通函数的区别是什么?》