箭头函数和匿名函数的this指向问题
时间: 2023-08-30 16:11:41 浏览: 136
JS匿名函数内部this指向问题详析
箭头函数和匿名函数的 `this` 指向问题是有所不同的。
对于箭头函数来说,它的 `this` 始终指向函数定义时所在的作用域中的 `this`,而不是调用时的 `this`。这就意味着,在箭头函数中,无论它是如何被调用的,`this` 都不会改变。
而对于普通的匿名函数来说,它的 `this` 是在运行时动态确定的,具体指向哪里取决于函数的调用方式。如果是作为对象的方法调用,那么 `this` 指向该对象;如果是作为普通函数调用,那么 `this` 指向全局对象(浏览器中是 `window`,Node.js 中是 `global`)。
需要注意的是,在严格模式下,普通函数调用时的 `this` 不再指向全局对象,而是为 `undefined`。
阅读全文