javascript - 如何检测对象变量是否已更改?

标签 javascript

我有一个表示栅栏的类,它在内部由矩形和圆形标记对象(也是我的类)组成。栅栏有 4 个变量 - x1、x2、y1 和 y2。如果有任何这些更改,我必须修改或重建内部标记对象。

存储和检查 4 个值并不是什么大问题,但这只是我的世界对象类中的第一个,并且会有更长的变量列表。 有没有什么好的方法可以检查这些是否已更改或触发更改,而无需显式存储 double 值并在每次重新绘制 Canvas 时进行检查?类似于 vb.net 中的属性之类的东西?

最佳答案

var fence= {
   set x1(){
      alert('change');
      this.rebuild();
   },
   rebuild: function(){}
}

还有

function Fence(val){
    var value = val;

    this.__defineGetter__("x1", function(){
        return value;
    });

    this.__defineSetter__("x1", function(val){
        alert('change');
        this.rebuild();
    });
    this.rebuild = function(){};
}
var fence = new Fence();

关于javascript - 如何检测对象变量是否已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24745424/

相关文章:

javascript - SammyJS,判断是否是第一个请求

javascript - JQuery/JavaScript : Is it possible do this (watch link below) with simple image on webpage?

javascript - 无法修改 ng-repeat 生成的文本框

javascript - 控制 Bootstrap-Lightbox 画廊中的图像高度

javascript - 如果可能,将嵌套 JSON 结构中的每个对象重命名为其 .name 属性

javascript - 将内容放入 JS 弹出 div。 JS的奇怪问题

javascript - 当我使用 prettier 和 ESLint 在 VSCode 上保存代码时如何设置自动关闭?

javascript - Javascript中=后的""给出错误,因为Javascript中的html代码中有""

php - 避免 php 和 javascript 之间的重复代码

javascript - 如何通过位置ID选择元素?