tenshi님 js에서 하나 묻고 싶은것이..
Posted: 2005 01 31 22:30 56
setInterval() 이나 setTimeout()사용시에
setInterval('test()', 1000); 이렇게 사용하게 되는데
나름대로 구글소스 다 뒤지며 찾았지만 방법을 못찾았습니다.
setInterval("a.test()", 1000); //이렇게 하더라도
a.test()가 아닌 그냥 test()로써 동작합니다.
그래서 할 수 없이
이런식으로 외부로 id명을 넘기고 그 id명을 토대로 객체의 메소드를
실행하는 무식한 방법을 사용하고 있습니다. OTL
이것 말고 다른 방법이 존재하는지요? 저는 몇일을 구글에서 검색해
보았어도 끝내 못찾고 말았습니다. ㅠ_ㅠ
setInterval('test()', 1000); 이렇게 사용하게 되는데
Code: Select all
function a(){
this.value = 1;
}
a.prototype.test = function(){
++this.value;;
}
a.prototype.timer = function(){
//this.test()를 실행시키고 싶습니다.
setInterval("this.test()", 1000); //이럼 안되지요 ㅠ_ㅠ
}
setInterval("a.test()", 1000); //이렇게 하더라도
a.test()가 아닌 그냥 test()로써 동작합니다.
그래서 할 수 없이
Code: Select all
setInterval("test('"+id+"')", 1000);
function out_tets(id){
//태그엘레멘트 객체에 메소드 추가했다면 이런식으로 id명을 참조
obj = document.getElementById('id');
//아니면 이런식으로
//eval('obj = ' + id);
obj.test();
}
실행하는 무식한 방법을 사용하고 있습니다. OTL
이것 말고 다른 방법이 존재하는지요? 저는 몇일을 구글에서 검색해
보았어도 끝내 못찾고 말았습니다. ㅠ_ㅠ