文
章
目
录
章
目
录
本文主要讲解关于前端开发面试题中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),学习愉快哦!