本文摘自PHP中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于JavaScript普通函数和箭头函数有什么区别?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。我常常的使用箭头函数,却还没有对箭头函数有个深入的了解,现在找一下这2个函数的不同点
1. 箭头函数本身没有prototype(原型)
由于箭头函数没有原型,因此箭头函数本身没有this
1 2 3 4 |
|
2. 箭头函数的this指向在定义的时候继承自外层第一个普通函数的this
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
从上面例子中可以得出:
箭头函数的this指向定义时所在的外层第一个普通函数,跟使用位置没有没有关系被继承的普通函数的this指向改变,箭头函数的this也会跟着改变。
不能直接修改箭头函数的this
可以通过修改被继承的普通函数的this指向,然后箭头函数的this也会跟着改变
3. 箭头函数使用arguments
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
从上面可以得出以下2点
- 箭头函数指向window时,arguments会报未定义的错误
- 如果不是window,那么就是外层第一个普通函数的arguments
4. 箭头函数不可以使用new
无论箭头函数的this指向哪里,使用new调用箭头函数都会报错,箭头函数没有构造函数
1 2 |
|
【相关推荐:JavaScript视频教程】
以上就是JavaScript普通函数和箭头函数有什么区别?的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《ES6》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者