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

Java面试 潘老师 5个月前 (11-28) 112 ℃ (0) 扫码查看

本文主要讲解关于前端开发面试题中JS箭头函数与普通函数的区别相关内容,让我们来一起学习下吧!

语法差异

普通函数

    function myFunction(parameters) { }

箭头函数

     const myFunction = (parameters) => { }

this 关键字的绑定

这是普通函数和箭头函数之间最大的区别。在普通函数中,this 的值是在运行时确定的,取决于函数是如何被调用的。在全局上下文中调用时,this 指向全局对象(在浏览器中是 window)。在对象方法中调用时,this 指向调用该方法的对象。而在箭头函数中,this 是在定义函数时绑定的,而不是在调用时。箭头函数中的 this 继承自包围它的非箭头函数。如果没有包围的非箭头函数,则 this 指向全局对象。

处理 arguments 对象:

在普通函数中可以使用特殊的 arguments 对象来访问所有传入的参数,即使函数声明中并未明确列出这些参数。在箭头函数中,没有 arguments 对象。

构造函数行为:

普通函数可以用作构造函数,可以使用 new 关键字创建新的对象。而箭头函数则不能用作构造函数,如果尝试这样做会抛出一个错误。

原型链:

每个普通函数都有一个 prototype 属性,当用作构造函数时,新创建的对象会从这个 prototype 属性继承属性和方法。而箭头函数没有 prototype 属性。

Yield 关键字的使用:

普通函数可以用作生成器函数,可以在其中使用 yield 关键字。而箭头函数不能用作生成器函数。

以上就是关于前端开发面试题中JS箭头函数与普通函数的区别相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/javainterview/11916.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】