更改javascript对象内部的范围

时间:2018-06-28 00:35:05

标签: javascript object scope

在处理对象方法的范围时,我仍然感到困惑。在下面的代码中,我有两个邻居。每个都有自己的方法。

[0-9]+

我了解到当我调用neighbour1.myFunction方法时,它将调用neighbor2.doOtherStuff方法,因为我已经使用了上面的赋值运算符。我不明白的是,为什么“此”将始终是neighbor1对象(约翰),而永远不是neighbor2对象(鲍勃)。有人可以简单地解释一下neighbour1为什么总是“ this”吗?谢谢!

1 个答案:

答案 0 :(得分:1)

this始终引用/指向执行上下文(执行函数的位置,而不是编写函数的位置)。您在this.doStuff()处调用neighbor1,因此,该提示始终指向neighbor1

如果您想了解更多关于this的信息,建议您研究一下这个很棒的material