2014-12-23 3 views
4

오브젝트가 변경 될 때마다 코드를 실행할 수 있습니까??오브젝트가 변경된 경우보기

var a = {x: 12, y: 63}; 

a.watch(function() { console.log('The object has changed!'); }); 

a.x = 16; // The object has changed! 
a.y = 1; // The object has changed! 

단지 파이어 폭스에서 사용할 수 보인다 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch

어떻게 자바 스크립트/Node.js를에이를 수 있습니까? 순수 자바 스크립트 (가능한 경우, 게터/세터 방법을 사용하지 않고) 당신은 Object Observe을 사용할 수 있습니다

+0

, 당신은 시간 제한 방식 또는 시간을 설정할 수 있습니다 주기적으로 객체 값을 검사하는 간격. –

+1

시계는 사용하지 말고 관찰을 사용해야하지만 ECMAScript7 제안서는 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe입니다. 현재 [ 이] (http://stackoverflow.com/questions/24745424/how-to-detect-if-an-object-variable-has-been-changed) –

+0

@ 마커스 아니, 그렇지 않을 것이다. – Alnitak

답변

4

을 ... 너무 신중하게 진행 실험의 ...

var obj = { 
    foo: 0, 
    bar: 1 
}; 

Object.observe(obj, function(changes) { 
    console.log(changes); 
}); 

obj.baz = 2; 
+0

이며 node.js에서 지원됩니다 ? – Alnitak

+0

예,'--harmony' 플래그 아래에 있습니다. –