简单聊下ES6的箭头函数和原生JS的普通函数定义。
js箭头函数和普通函数的区别:
一、外形不同:
箭头函数使用箭头定义,普通函数中没有。
// 普通函数 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。
网友评论文明上网理性发言 已有0人参与
发表评论: