关于JavaScript中的this

2018-09-23  本文已影响0人  橘子柚子橙子_

在JavaScript中this的值很灵活,时常让人感到疑惑。为了更好的理解它,在参考了网络资料后,整理这篇内容。参考资料已经在文末列出。

在下面几种情况中,this的指向各不相同:

1. 全局范围内:

this

this指向的是全局对象。
2. 函数调用:

foo()

这里的this指向的也是全局对象。
3. 方法调用:

Obj.fun()

此处的this指向的是Obj对象
4. 构造函数:

new Fun()

在函数内部,this指向的是新创建的对象
5. 显示的设置this:

function fun(a, b, c) {}
let test = {}
fun.apply(test, [1, 2, 3])

当使用applycall时,函数内的this会被设置为函数调用的第一个参数,在上面的例子中,this指向的是test
如果未设置第一个参数,则this指向的是全局对象。
6. 箭头函数
在箭头函数中,this被设置为它被创建时的上下文。


等有时间了,更新一些例子进来。

上一篇 下一篇

猜你喜欢

热点阅读