检查一个对象 属性 是否改变了它的值

Check if an object property changes its value

我有两个应用程序(一个在 C++ 中,另一个在 node-webkit 中)通过 OSC 进行通信。当我按 + 时,一个值会增加,而当我按 - 时,该值会减少。输出被发送到 node-webkit 实例,然后使用以下方式处理消息:

$scope.$on('FooBar', function (event, obj) {
//stuff happens here
};

在这种情况下,obj 有一个 属性、foobar,一个正整数,每次我按下这些键时它都会上升和下降。 问题是我需要更改 FooBar 的相应本地值。我尝试使用:

 var aux = obj.foobar;
 if (aux < obj.foobar) {
       FooBarManager.raiseFooBar();
 } else {
       if (aux > obj.foobar) {
           FooBarManager.lowerFooBar();
   }
 }

但我无法使逻辑正常工作。当按下某个键并更改值时,aux 将始终等于 obj 的 属性,因此什么也不会发生。

这样有用吗?

var previousFooBar = 0; // whatever your default is
$scope.$on('FooBar', function (event, obj) {
 if (obj.foobar > previousFooBar) {
      FooBarManager.raiseFooBar();
 } else if (obj.foobar < previousFooBar) {
      FooBarManager.lowerFooBar();
 }
 previousFooBar = obj.foobar;
});