게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
re: 오늘도 자스에 대한 질문인데요.. ^^ |
---|
작성자: 송원석
작성일시: 2004-09-23 12:01,
조회수: 2,702
|
자바스크립트의 조금 마음에 안드는 부분중에 하나인데요. 자바스크립트에서는 만약 동일한 이름을 가진 개체가 한 페이지내에 여러개 존재하는 경우 말씀하신 것처럼 배열의 형태로 접근을 가능하게 해줍니다. 그래서 length 라는 프로퍼티를 편리하게 사용할 수가 있죠. 그런데 재미있는 것이 만약 해당 요소가 한 페이지 내에 한 개 밖에 존재하지 않는다면 자바스크립트에서는 이걸 배열로 취급하는 것이 아니라 그냥 단순한 개체 하나로 취급해 버리게 됩니다. 따라서 배열이 아니니 length 를 사용할 수 없는 것이고 당연히 그 개체에는 length 라는 프로퍼티가 존재하지 않으니까 undefined 라는 오류 메세지가 나타나게 되는 것이죠. 어찌보면 원칙에 입각한 올바른 처리이긴 한데 개발자들 입장에서는 조금 혼란스러울수 있는 여지가 생긴다고 생각합니다. 사실 FORM 같은 태그들은 한 페이지 내에 하나밖에 없어도 배열의 인덱스에 0 값을 설정해서 접근이 가능하니까요. ^_^;;
이런 대표적인 예가 목록을 보여주고 목록의 라인마다 각각 체크 박스를 하나씩 생성하여 삭제하거나 이동할 항목을 설정할 수 있게 해주는 받은 메일함 같은 페이지들인데 결국 이런 경우에는 다음과 같이 3 가지 경우로 나누어서 처리를 할 수 밖에는 없습니다. 1. 해당 이름을 가진 개체가 존재하지 않는 경우. 2. 해당 이름을 가진 재체가 한 개 존재하는 경우. 3. 해당 이름을 가진 재체가 두 개 이상 존재하는 경우.저는 솔직히 이런 처리를 하는게 너무 지겨워서요 가장 싫어하는 처리중의 하나랍니다. if 문으로 null 인지 아닌지 검사해서 각각 처리를 해야하는데 지루한 작업이죠. 그래서 저는 말씀하신 것처럼 FORM 을 통해서 개체에 접근하지 않고 document 개체의 getElementById() 메소드이나 getElementsByName() 메소드를 주로 사용하는 편입니다. 왜냐하면 갯 수에 상관없이 컬랙션 형태로 리턴해주거든요. ^_^ 감사합니다. |
IP 주소: 203.225.5.165
|
오마르 |
오~~ 컬렉션으로 리턴해줘요?? 감사합니다~~ ^-^=
|
2004-09-24 13:51 |
게시물 | ||||
---|---|---|---|---|
745 |
lang2 |
2004-10-01 | 628 | |
744 | 2004-10-01 | 2,479 | ||
743 |
오마르 |
2004-10-01 | 618 | |
742 | 2004-10-01 | 2,777 | ||
741 |
똥강아지 |
2004-09-26 | 720 | |
740 | 2004-09-29 | 2,463 | ||
739 |
똥강아지 |
2004-10-01 | 681 | |
738 | 2004-10-01 | 2,526 | ||
737 |
PDF파일이 안열리는거 해결 [2] |
쏭밤 |
2004-09-25 | 990 |
736 |
오마르 |
2004-09-23 | 678 | |
2004-09-23 | 2,702 | |||
734 | 2004-09-24 | 2,588 | ||
733 |
오마르 |
2004-09-22 | 734 | |
732 | 2004-09-22 | 2,775 | ||
731 |
jinny |
2004-09-24 | 683 | |
730 |
폴라리스 |
2004-09-22 | 745 | |
729 | 2004-09-22 | 2,495 | ||
728 |
nnnekh |
2004-09-20 | 897 | |
727 | 2004-09-20 | 2,947 | ||
726 |
궁금이 |
2004-09-20 | 730 | |
725 | 2004-09-20 | 2,724 | ||
724 |
jinny |
2004-09-24 | 940 | |
723 |
오마르 |
2004-09-20 | 642 | |
722 | 2004-09-16 | 2,644 | ||
721 | 2004-09-16 | 3,153 |