javascript 객체의 반복생성방법이 궁금합니다

javascript 객체의 반복생성방법이 궁금합니다

QA

javascript 객체의 반복생성방법이 궁금합니다

본문


 
안녕하세요

 

    qus01 = new XYZCheckbox('#popup01 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    

 

위와같은 XYZCheckbox 라는 객체가 있습니다 그런데 저객체를 14개를 만들어서 각각 체크박스 기능을 만들어주려하는데요

 

이때 노가다방식으로

 

qus02 = new XYZ....

qus03 = new XYZ ....

 

이렇게 해서 14개를 만들기보단 더좋은 방법으로 객체를 반복시키는 방법이 있을거라 생각하는데

 

for 문으로만들어야되는건가요

 

qus01 = new XYZCheckbox('#chck01 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus02 = new XYZCheckbox('#chck02 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus03 = new XYZCheckbox('#chck03 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus04 = new XYZCheckbox('#chck04 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus05 = new XYZCheckbox('#chck05 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus06 = new XYZCheckbox('#chck06 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus07 = new XYZCheckbox('#chck07 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus08 = new XYZCheckbox('#chck08 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus09 = new XYZCheckbox('#chck09 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus10 = new XYZCheckbox('#chck10 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus11 = new XYZCheckbox('#chck11 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus12 = new XYZCheckbox('#chck12 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus13 = new XYZCheckbox('#chck13 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

    qus14 = new XYZCheckbox('#chck14 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

 

이 엄청난 수의 객체들을 반복문으로 중복의 제거를 할수있는방법이 .. 분명 있을거라믿습니다 ㅠ..ㅠ

이 질문에 댓글 쓰기 :

답변 2

for(i=1; i<=14; i++) {

  var v = i;

  if(v<10) v = '0'+v;

  eval("qus"+v) = new XYZCheckbox('#chck'+v+'.btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

}

 

님 감사합니다 애일 확인해봐야겟습니다 그런대 책에서는 eval코드를 쓰지말라며 지양하는데 종종 여러곳에서 보이더군요 제가기억에 ""을 제거해주는기능으로알고있는데 맞는건가요

var i=0;

    var qus = new XYZCheckbox;

 

    for (i = 1; i <= 14; i++) {

        

        var v = i;

 

        if ((v+'').length == 1) {

        v = '0' + v;    

        

        }else{

        v = v;

        

        }

        //console.log(v);   

 

        qus[v] = new XYZCheckbox('#chck'+ v +'점앞에 띄어쓰기할것 .btnChoice', 'images/common/marking.png', adoTick, adoCorrect, adoWrong, 'images/common/marking_c.png');

 

        //console.log(qus);

    }

감사합니다!!

답변을 작성하시기 전에 로그인 해주세요.
전체 78
QA 내용 검색
filter #for ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT