변수의 length 추출하기 정보
변수의 length 추출하기본문
보통 유사형태의 내용들은 배열에 담아서 length 를 추출하여 루프문에 활용하는데 그것과 비슷하게 동일한 형태로 일련번호를 먹이면서 만들어진 변수의 최종값을 쉽게 뺄 수 있는 코드입니다.
<script>
sir_1 = "그누";
sir_2 = "보드";
sir_3 = 3;
sir_4 = ["냑", "만만세"];
for (sirTotal = 0; this["sir_" + (sirTotal + 1)]; sirTotal++);
document.write(sirTotal);
</script>
여기서 sirTotal 은 동일패턴 변수의 최종값입니다. 변수명은 뭐 본인 취향대로 주면 되겠지요.
이렇게 추출한 최종값을 루프문에서 돌릴 때 쓰거나 기타 다른 용도로 사용하면 되겠습니다.
!-->
추천
4
4
댓글 6개
감사합니다.
아마추어라 어디에, 어떻게 사용해야할 지를 잘 모르겠지만요.^^
아마추어라 어디에, 어떻게 사용해야할 지를 잘 모르겠지만요.^^
@김철용 예를 들어서 아주 간단한 이미지 자체 버튼 갤러리를 만든다고 한다면...
여기서 imgBtn.src = this["img_" + ( n = n == 10 ? 1 : n + 1)]; 에서 10은 특정값입니다.
그러니까 이미지 갯수가 바뀔 때마다 값을 바꾸어야 하죠.
하지만 10대신 토탈값을 넣으면 그럴 필요가 없겠죠.
이건 가장 단순한 예이구요. 결과물 - http://www.mediaplayer.kr/main/tip/16
https://sir.kr/g5_tip/16005 에서도 토탈값으로 만들었고 제 유튜브 플레이어도 다 배열이 아니라 변수 토탈값으로 만든 것입니다.
<script>
img_1 = "https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg";
img_2 = "https://blog.kakaocdn.net/dn/nU4Lk/btq5TtDAlDl/cGLKyjuxsDOHGJ1WxujAFk/img.jpg";
img_3 = "https://blog.kakaocdn.net/dn/b7j6gV/btq5Syd5zbE/keJ3abDzXi32bHzKduJCA1/img.jpg";
img_4 = "https://blog.kakaocdn.net/dn/bQy7RZ/btq5Y9jj9J7/BgHmKBQmpphNpYkfS0qO0k/img.jpg";
img_5 = "https://blog.kakaocdn.net/dn/y9wL8/btq5Yqr6Mfk/QkHrJyuJtTC41fBfWnMsZk/img.jpg";
img_6 = "https://blog.kakaocdn.net/dn/PilbO/btq5TsScxQb/GVfvaGZqc4PLN25sgEKBLk/img.jpg";
img_7 = "https://blog.kakaocdn.net/dn/cKhXce/btq5Ttp4eBk/ZADYMqqTmFkkuwX9Tt55AK/img.jpg";
img_8 = "https://blog.kakaocdn.net/dn/d5MZRr/btq5TrZ5wRz/uIGtc7icn0wmhVpBsa2KsK/img.jpg";
img_9 = "https://blog.kakaocdn.net/dn/bMaFXG/btq5TsScxSU/D6C1UMQ6e2fJezv0rlvmN1/img.jpg";
img_10 = "https://blog.kakaocdn.net/dn/9u24l/btq5TtwUlyZ/ao3o9xmnYWJ977KtV0irAk/img.jpg";
for (imgTotal = 0; this['img_' + (imgTotal + 1)]; imgTotal++);
n = 1;
function imgGo() {
imgBtn.src = this["img_" + (n = n == 10 ? 1 : n + 1)];
imgOrder.innerText = n;
}
</script>
<img id=imgBtn style=cursor:pointer src=https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg onclick=imgGo()>
<div id=imgOrder>1</div>
여기서 imgBtn.src = this["img_" + ( n = n == 10 ? 1 : n + 1)]; 에서 10은 특정값입니다.
그러니까 이미지 갯수가 바뀔 때마다 값을 바꾸어야 하죠.
하지만 10대신 토탈값을 넣으면 그럴 필요가 없겠죠.
<script>
img_1 = "https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg";
img_2 = "https://blog.kakaocdn.net/dn/nU4Lk/btq5TtDAlDl/cGLKyjuxsDOHGJ1WxujAFk/img.jpg";
img_3 = "https://blog.kakaocdn.net/dn/b7j6gV/btq5Syd5zbE/keJ3abDzXi32bHzKduJCA1/img.jpg";
img_4 = "https://blog.kakaocdn.net/dn/bQy7RZ/btq5Y9jj9J7/BgHmKBQmpphNpYkfS0qO0k/img.jpg";
img_5 = "https://blog.kakaocdn.net/dn/y9wL8/btq5Yqr6Mfk/QkHrJyuJtTC41fBfWnMsZk/img.jpg";
img_6 = "https://blog.kakaocdn.net/dn/PilbO/btq5TsScxQb/GVfvaGZqc4PLN25sgEKBLk/img.jpg";
img_7 = "https://blog.kakaocdn.net/dn/cKhXce/btq5Ttp4eBk/ZADYMqqTmFkkuwX9Tt55AK/img.jpg";
img_8 = "https://blog.kakaocdn.net/dn/d5MZRr/btq5TrZ5wRz/uIGtc7icn0wmhVpBsa2KsK/img.jpg";
img_9 = "https://blog.kakaocdn.net/dn/bMaFXG/btq5TsScxSU/D6C1UMQ6e2fJezv0rlvmN1/img.jpg";
img_10 = "https://blog.kakaocdn.net/dn/9u24l/btq5TtwUlyZ/ao3o9xmnYWJ977KtV0irAk/img.jpg";
for (imgTotal = 0; this['img_' + (imgTotal + 1)]; imgTotal++);
n = 1;
function imgGo() {
imgBtn.src = this["img_" + (n = n == imgTotal ? 1 : n + 1)];
imgOrder.innerText = n;
}
</script>
<img id=imgBtn style=cursor:pointer src=https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg onclick=imgGo()>
<div id=imgOrder>1</div>
이건 가장 단순한 예이구요. 결과물 - http://www.mediaplayer.kr/main/tip/16
https://sir.kr/g5_tip/16005 에서도 토탈값으로 만들었고 제 유튜브 플레이어도 다 배열이 아니라 변수 토탈값으로 만든 것입니다.
@비타주리 비타주리님의 팁을 정주행해보고 있습니다. 공개해주신 팁이나 스킨에서 for문을 많이 사용하시던데요. 저에게 for문은 어려운데 비타주리님 코드를 보면서 많이 배웁니다. 감사합니다
@김철용 그리고 무슨 겸손의 말씀을... 저도 웹을 메인직업으로 가져본 적이 없습니다. 완전히 아마추어에요. 더구나 백엔드는 거의 백치 수준입니다.ㅋ
this[] 에서 모든 변수를 참조할 수 있겠군요..
@정석코딩 예 감사합니다.