JavaScript에서 변수의 변경 사항을 수신하는 이벤트가있는 방법이 있습니까? 그래서 값이 변경되면 이벤트가 트리거되고 함수를 호출 할 수 있습니다. 이 컨텍스트에 더 넣으려면 개체 배열의 html 렌더링을 처리하는 함수가 있고 배열을 수정할 때마다 자동으로이 함수를 호출해야합니다.변수가 변경 될 때마다 JavaScript에서 함수를 실행하는 방법은 무엇입니까?
감사합니다.
JavaScript에서 변수의 변경 사항을 수신하는 이벤트가있는 방법이 있습니까? 그래서 값이 변경되면 이벤트가 트리거되고 함수를 호출 할 수 있습니다. 이 컨텍스트에 더 넣으려면 개체 배열의 html 렌더링을 처리하는 함수가 있고 배열을 수정할 때마다 자동으로이 함수를 호출해야합니다.변수가 변경 될 때마다 JavaScript에서 함수를 실행하는 방법은 무엇입니까?
감사합니다.
사용 object.watch
docs하고 지원되지 않는 경우 기본적으로이 구현 보면 : 당신은 너무 많은 시간을 그 가치에 대한 두 번째를 확인 setInterval
을 사용하고 별도의 변수에 저장할 수 Object.watch() for all browsers?
시계 메소드가 더 이상 사용되지 않습니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch –
나는 당신이 원하는 것이 무엇이라고 생각하지 않습니다.
용액에 수 있습니다 :
하지만 약간의 코드를 다시 작성해야합니다.
이 작업을 수행하는 가장 쉬운 방법은 생각합니다. 어쩌면 일부 프레임 워크에는 이와 같은 기능이있을 수도 있습니다. – Chris
. 실제 변수가 다른 변수와 다른지 여부를 매번 확인할 수 있습니다. 이 경우 함수를 호출하십시오.
하지만 더러운 속임수입니다.
+1, 더러운 것 같습니다. 전혀 좋지 않다. 하지만 다른 옵션을 사용하지 않고, 올바른 시나리오에서, 그냥 작동 할 수 있습니다 :) –
음 .. 정말 작고 잠재적 인 버그가있는 코드를 원한다면이 작은 응용 프로그램에서 작동하는 것 같아요 ..변수가 "새로운"값이지만 함수가 실행되지 않은 작은 창이 여전히 존재하기 때문에 특정 시나리오에서 버그를 생성 할 수 있습니다. 당신이 말할 수 없다면,이 방법을 선호해서는 안됩니다. Mr./Ms. 캐주얼 옵서버, 누가이 의견을 읽고있을 수도 있습니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype과 getter/setter 함수를 사용하여 개체를 만드는 것이 좋습니다. – dylnmc
는 ECMAScript를 5 년 게터/setter 속성은 ... 여기가 읽기 :
http://robertnyman.com/2009/05/28/getters-and-setters-with-javascript-code-samples-and-demos/
IE를 들어, 당신은 기다려야 할 것이다 : http://ejohn.org/blog/ecmascript-5-objects-and-properties/
비 IE 브라우저가 비슷한 지원 IE9의 경우 또는 DOM 기반 getters/setter 만 사용하십시오.
JavaScript는 아직 setter/getter 메소드를 보편적으로 지원하지 않기 때문에 변수 설정 방법을 생각해 보는 것이 좋습니다.
Array.prototype.setMember = function(index,newValue) {
alert("I will perform some action here");
this[index] = newValue;
}
var myArray = [1,2,3];
// x[0] = 11; // Don't do this any more
x.setMember(0,11);
alert(x[0]);
개인적으로 프로토 타입을 기반으로하는 새로운 방법을 추가하는 열렬한 팬이 아니지만, 그것은 단기적으로 리팩토링하기가 쉬울 것입니다 : 일하는 것이 하나 개의 기술이다.
네, 예를 들어 Array를 사용하여이 작업을 수행하기 만하면 완전히 새로운 객체를 만드는 것보다 쉽고 좋습니다. 좋은 생각 – dylnmc
'setters'는 먼저 설정 될 변수를 구문 분석 할 수있는 'helpers'입니다. 코드에 대한 어떤 가능성과 제어 수준이 있는지는 모르지만, setter에서는 함수를 호출 할 수 있습니다. – pimvdb