如何给变量x设置一个侦听事件

8988 2019-01-16 10:49:21
<script>
var x=0;
//定义x的侦听事件,当x值改变时,触发该事件
</script>
<button onclick="x=1-x">测试变量x变化后触发事件</button>

注意:不能用setInterval 和 无限循环


...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2019-02-15
  • 打赏
  • 举报
回复
楼上是原理

不过实际使用上,我们会直接采用现有的mvvm框架了,比如vue框架,knockout框架。
天际的海浪 2019-02-15
  • 打赏
  • 举报
回复

<script type="text/javascript">
var obj = {__x: 0};
Object.defineProperty(obj, "x", {
  get: function(){
    return this.__x;
  },
  set: function(newValue){
    this.__x = newValue;
    alert("x更新了:"+this.__x);
  },
  enumerable : true,
  configurable : true
});
</script>
<button onclick="obj.x=1-obj.x">测试变量x变化后触发事件</button>
8988 2019-02-15
  • 打赏
  • 举报
回复
那可不可以,建立一个自定义对象,把这个X作为该对象的属性
野鹤-辛 2019-01-18
  • 打赏
  • 举报
回复
因为x是一个数值,而不是对象,所以无法监听。如果是对象。可以监听属性变化的,defineProperty。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧