箭头函数与普通函数的区别
箭头函数与普通函数的区别
一.外形不同:箭头函数使用箭头定义,普通函数中没有
代码实例如下:
// 普通函数 function func(){ // code } // 箭头函数 let func=()=>{ // code }
二.箭头函数都是匿名函数
普通函数可以有匿名函数,也可以有具体名函数,但是箭头函数都是匿名函数。
代码实例如下:
// 具名函数 function func(){ // code } // 匿名函数 let func=function(){ // code } // 箭头函数全都是匿名函数 let func=()=>{ // code }
三.箭头函数不能用于构造函数,不能使用new
普通函数可以用于构造函数,以此创建对象实例。
代码实例如下:
function Person(name,age){ this.name=name; this.age=age; } let admin=new Person("恩诺小弦",18); console.log(admin.name); console.log(admin.age);
四、箭头函数中 this 的指向不同
在普通函数中,this 总是指向调用它的对象,如果用作构造函数,它指向创建的对象实例
五、箭头函数不具有 arguments 对象:每一个普通函数调用后都具有一个arguments 对象,用来存储实际传递的参数。但是箭头函数并没有此对象。
六、箭头函数不具有 prototype 原型对象。箭头函数不具有 super。箭头函数不具有 new.target