setInterval / setTimeout 메소드를 사용할때
get/set 메소드를 통해 intervalID 값에 접근 하게 되면
intervalID의 설정은 되는데
삭제는 되지않는 문제가 생긴다
ex)
// 변수 설정
private var _intervalID:Number
// get-set 메소드 설정
public function set intervalID(value:Number):Void { _intervalID = value; }
public function get intervalID():Number { return _intervalID; }
.
.
.
// setTimeout 구현
intervalID = _global["setTimeout"](함수이름, duration, 인자)
.
.
.
trace(intervalID) // 임의의 ID값 출력
.
.
// intervalID 삭제
_global["clearTimeout"](intervalID); // 하지만 setTimeout 에 명시된 함수는 실행된다
public function get intervalID():Number { return _intervalID; }
.
.
.
// setTimeout 구현
intervalID = _global["setTimeout"](함수이름, duration, 인자)
.
.
.
trace(intervalID) // 임의의 ID값 출력
.
.
// intervalID 삭제
_global["clearTimeout"](intervalID); // 하지만 setTimeout 에 명시된 함수는 실행된다
So
get set 메소드 삭제하고
intervalID가 들어가있는 변수를 직접 대입해 준다
get set 메소드 삭제하고
intervalID가 들어가있는 변수를 직접 대입해 준다
ex)
// 변수 선언
private var intervalID:Number
.
.
intervalID = _global["setTimeout"](함수이름, duration, 인자)
.
.
.
trace(intervalID) // 임의의 ID값 출력
.
.
.
// intervalID 삭제
_global["clearTimeout"](intervalID); // setTimeout에 명시된 함수가 실행되지 않는다
.
.
.
trace(intervalID) // 하지만 trace에 찍으면 intervalID 에 ID값은 여전히 남아있다.
// 변수 선언
private var intervalID:Number
.
.
intervalID = _global["setTimeout"](함수이름, duration, 인자)
.
.
.
trace(intervalID) // 임의의 ID값 출력
.
.
.
// intervalID 삭제
_global["clearTimeout"](intervalID); // setTimeout에 명시된 함수가 실행되지 않는다
.
.
.
trace(intervalID) // 하지만 trace에 찍으면 intervalID 에 ID값은 여전히 남아있다.
intervalID를 아예 지우고 싶다면
delete intervalID
혹은
intervalID = null
로 값을 지워준다.
delete intervalID
혹은
intervalID = null
로 값을 지워준다.




Reply Please :D