javascript - 将 javascript 事件监听器附加到变量的理论?

标签 javascript variables theory addeventlistener

我想知道是否有一种方法可以将事件监听器附加到变量。我们的想法是做这样的事情:

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

因此,一旦 someVar 被更改,即 someVar=1,someTodo 就会被执行。

我认为理解 - 理论上 - 事件监听器可以添加到 DOM 中的所有内容中,问题在于变量不会触发这些事件,而 HTML 对象会触发它们。 如果这确实是正确的,那么扩展的问题将是:如何训练 DOM 对象来触发事件?我读过一些有关原型(prototype)设计的内容,这就是技巧吗?

请注意:我喜欢自己理解和编写所有代码。因此,我宁愿对理论感兴趣,也不愿使用一些现有的东西,比如 jQuery,其中蕴含着各种奇迹。

马可

最佳答案

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

关于javascript - 将 javascript 事件监听器附加到变量的理论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989337/

相关文章:

javascript - 获取窗口高度

javascript - 使用 JavaScript 验证 href?

即使使用了 global 关键字,PHP 全局变量在函数内部也是未定义的

python - 需要动态查找表时的迭代与递归

javascript - freeswitch和sip.js如何配置websocket

javascript - 为什么长度在定义之前在浏览器中就等于0?

linux - 基于两列在awk中增加变量

swift - 当将变量发送到下一个 View Controller swift 时获取双变量

algorithm - 尝试获得工作调度贪心算法的直觉

algorithm - 强大的算法过于复杂而无法实现