& # 39;这个# 39;在事件侦听器中总是引用相同的对象

Does 'this' inside an event listener always refer to the same object?

本文关键字:引用 对象 侦听器 这个 事件      更新时间:2023-09-26

我不确定这是否是一个通用的Javascript问题:我正在使用Appcelerator Titanium,所以可能会有特定的平台。

这是我的问题:如果我添加一个事件监听器到一个对象,事件监听器中的"this"关键字总是指向该对象吗?

例子:

var itemView = Ti.UI.createLabel({
    text: 'Dude'
})
itemView.addEventListener('click',function(e){
    alert(this.getText())
}) 

这个例子可以工作。但也许这只是因为一些并不总是适用的良性环境。我的问题是:我能依靠它一直工作吗?事件处理程序的上下文始终是该处理程序绑定的对象吗?

这是一个基本的Javascript法律,钛/合金尊重它吗?

我想你最好看看这个答案,我希望它能消除你的困惑。

https://stackoverflow.com/questions/133973/how-does-this-keyword-work-within-a-javascript-object-literal/134149 # 134149