将javascript eventlistener附加到变量的理论?

时间:2011-02-14 06:12:00

标签: javascript variables theory addeventlistener

我想知道有没有办法将eventlisteners附加到变量上。我的想法是做这样的事情:

someVar.addEventListener('change', someTodo, false);

因此,一旦someVar被改变,即someVar = 1,将执行someTodo。

我认为理解 - 理论上 - eventlisteners可以添加到DOM中的所有内容,问题是变量不会触发这些事件,而HTML对象会触发它们。 如果这确实是正确的,扩展的问题将是:如何训练DOM对象来触发事件?我已经阅读了关于原型设计的内容,这就是诀窍吗?

请注意:我喜欢自己理解并编写所有代码。所以我宁愿对这个理论感兴趣,然后使用一些现有的东西,比如jQuery,各种各样的奇迹都在其中。

1 个答案:

答案 0 :(得分:0)

安全且经过时间考验的方法是在对象上使用getter和setter(即,您只允许通过getX()/ setX()等对象方法访问变量。然后,您可以使用重载setX()来触发回调。有些语言如Lua和Python,可以使用元函数捕获对象成员的访问权限,但我不相信Javascript会以任何方式支持它。