[前端]箭头函数和普通函数的区别?

箭头函数:

1.箭头函数中使用(不会改变this指向,保持原有的this指向)箭头函数没有作用域,指向了外层作用域(执行环境)。===》换句话说,箭头函数的this指向调用父级的对象,如果父级作用于还是箭头函数,就继续向上找,直到window上。;
2.call、apply、bind 无法改变 this 的指向;
3.不能用作构造函数,也就是不能 new,否则会抛出错误;
4.不能使用 arguments 对象,但是可以使用 rest 参数;
5.不能使用 yield 命令;
6.没有原型属性。

普通函数:

1.this 总是指向它的直接调用者;
2.在默认情况下,没有找到直接调用者,this 指向 window;
3.在严格模式下,没有找到直接调用者,this 是 undefined;
4.可以使用 call、apply、bind 改变 this 的指向。

你可能感兴趣的:([前端]箭头函数和普通函数的区别?)