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

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

作者: HS_d119 | 来源:发表于2020-07-28 16:10 被阅读0次

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

        let a = () => { console.log(1) }

        a()

        new a()    // TypeError: a is not a constructor


2、箭头函数不绑定arguments(用于指向调用者传入的所有参数),取而代之用rest参数...解决

        function A(a, b, c, d) {

                console.log(arguments); // [1, 2, 3, 4, callee: ƒ, Symbol(Symbol.iterator): ƒ]

       }

       A(1, 2, 3, 4)

        let B = (...r) => {

                console.log(r); // [5, 6, 7]

        }

        B(5, 6, 7)


3、this的作用域不同

    a、普通函数根据它是被如何调用的来定义这个函数的this值

    b、箭头函数没有自己的 this,当在内部使用了 this时,它会指向最近一层作用域内的 this

          如果是该函数是一个构造函数,this指针指向一个新的对象

          在严格模式下的函数调用下,this指向undefined

          如果是该函数是一个对象的方法,则它的this指针指向这个对象


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

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

        function b(){ return 2; }

        console.log(a.prototype);  // undefined

        console.log(b.prototype);  // {constructor: ƒ}


5、 yield 关键字通常不能在箭头函数中使用(除非是嵌套在允许使用的函数内)

相关文章

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

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

  • 函数的扩展

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

  • 2019-01-11

    ES6 箭头函数 箭头函数表示法:()=>console.log('Hello') 箭头函数和普通函数的区别 和普...

  • js理解普通函数和箭头函数

    普通函数: 箭头函数: 区别: 构造函数和原型 箭头函数不能作为构造函数 不能new。会报错 箭头函数没有原型属性...

  • 箭头函数和立即执行函数

    箭头函数 箭头函数和普通函数有什么区别?如果把箭头函数转换为不用箭头函数的形式,如何转换主要是this的差别,箭头...

  • 箭头函数和普通函数有什么区别?

    题目:箭头函数和普通函数有什么区别?箭头函数为什么不能用作构造函数? 参考答案 区别: 箭头函数在一些情况下书写更...

  • 改变this指向的方法

    箭头函数和普通函数的区别如下。 普通函数:根据调用我的人(谁调用我,我的this就指向谁) 箭头函数:根据所在的环...

  • 前端面试必会面试题

    1、箭头函数和普通函数的区别 1.箭头函数是匿名函数,不能作为构造函数,不能使用new 2.箭头函数不绑定argu...

  • 箭头函数

    引入箭头函数有两个方面的作用:更简短的函数并且不绑定this 普通函数和箭头函数的区别: 箭头函数的this指向规...

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

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

网友评论

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

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