美文网首页
箭头函数与普通函数的区别

箭头函数与普通函数的区别

作者: 汶沐 | 来源:发表于2019-11-02 16:46 被阅读0次

ES6中的新增的一种新的函数:()=>{}
以下是区别:

1、语法更简洁
箭头函数

var fn = () =>{
  return 123;
}

相当于普通函数

function fn() {
  return 123;
}

2、 没有this
普通函数都有自己的this值

const obj = {
    a: function() { console.log(this) },
    b: {
        c: function() {console.log(this)}
    }
}
obj.a()  // 打出的是obj对象, 相当于obj.a.call(obj)
obj.b.c() //打出的是obj.b对象, 相当于obj.b.c.call(obj.b)

箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。

const obj = {
    a: function() { console.log(this) },
    b: {
        c: () => {console.log(this)}
    }
}
obj.a()   //没有使用箭头函数打出的是obj
obj.b.c()  //打出的是window对象!!

3、不能使用new
箭头函数作为匿名函数,故不能作为构造函数,不能使用new

var fn = ()=>{
  count:1
}
var p = new fn();  // TypeError: p is not a constructor 

4、不绑定arguments,用rest参数...解决

/*常规函数使用arguments*/
function test1(a){
  console.log(arguments); 
}

/*箭头函数不能使用arguments*/
var test2 = (a)=>{console.log(arguments)}  

/*箭头函数使用reset参数...解决*/
let test3=(...a)=>{console.log(a[1])} 

test1(1); // 1
test2(2); // ReferenceError: arguments is not defined
test3(33,22,44); // 22

5、箭头函数没有原型属性

var a = ()=>{
  return 1;
}

function b(){
  return 2;
}

console.log(a.prototype);//undefined
console.log(b.prototype);//object{...}

相关文章

  • 箭头函数与普通函数的区别

    箭头函数与普通函数的区别,实质是我们是否理解了箭头函数,在我刚开始接触ES6时,印象中的箭头函数与普通函数的区别就...

  • es6

    箭头函数与普通函数的区别 箭头函数是匿名函数,不能作为构造函数,不能使用new 箭头函数不绑定arguments,...

  • es6应该搞清楚的问题

    一、箭头函数与普通functon有什么区别?箭头函数可以完全代替普通functon吗? 1.箭头函数是匿名函数,不...

  • 箭头函数与普通函数的区别你真的明白吗

    箭头函数与普通函数的区别? 构造函数可以使用new 生成实例,那么箭头函数可以吗?为什么?/答: 箭头函数比普通函...

  • 常见前端面试题

    箭头函数与普通函数的区别 箭头函数语法比普通函数更加简洁,但箭头函数中没有arguments,所以形参可以使用展开...

  • es6相关

    1.箭头函数与普通函数的区别 箭头函数 let fun = () => { console.log('lala...

  • 箭头函数和普通函数的主要区别是什么?

    箭头函数和普通函数的主要区别: this的指向问题,箭头函数是不存在this的(也是箭头函数和普通函数最主要的区别...

  • 简单说 JavaScript的箭头函数

    说明箭头函数本质还是函数,我们来看看他与JavaScript中普通函数的区别,先看看写法上的区别。 写箭头函数,我...

  • 函数的扩展

    函数的扩展 箭头函数和普通函数区别箭头函数没有this对象,箭头函数的里的this始终指向定义时所在对象,普通函数...

  • 箭头函数

    二、箭头函数与普通函数的区别 1、语法更加简洁、清晰 从上面的基本语法示例中可以看出,箭头函数的定义要比普通函数定...

网友评论

      本文标题:箭头函数与普通函数的区别

      本文链接:https://www.haomeiwen.com/subject/yhchbctx.html