let 버튼 = $('.tab-button');
셀렉터 문법은 기본적으로 작동시간이 오래 걸리기 때문에 반복되면 변수에 집어넣기!
탭기능을 보면 비슷한 코드 덩어리 6줄이 3번 반복
비슷한 코드를 발견하면 for 반복문으로 쉽게 복붙이 가능해용
for (횟수){
복붙할 코드
}
이런식으로
for (let i = 0; i < 5; i++) {
console.log('안녕')
}
-> 안녕을 5번 반복해서 출력해주세요~
<script>
for(let i = 0; i < 3; i++) {
버튼.eq(i).on('click', function(){
버튼.removeClass("orange");
버튼.eq(i).addClass("orange");
내용.removeClass("show");
내용.eq(i).addClass("show");
});
}
</script>
숫자가 늘어나는 자리에 i라는 변수를 넣어주면 해결 가능
컴퓨터의 입장이 되어 탭기능 코드를 읽어본다면
근데 let이라는 변수를 사용하면 변수 포스트잇이 for 바깥이 아닌 안에 생성!
var i = 0
-var변수는 범위가 function
-var i 가 들어있는 포스트잇은 for문 바깥에 생성
let i = 0
-let변수는 범위가 {}
-let i 가 들어있는 포스트잇은 for 안쪽에 3개 생성
좋은코드란?
1. 원하는 기능이 잘 구현되어있는가
2. 확장성이 좋은가
3. 나중에 관리가 쉬운가
4. 성능에 문제가 없는가
<script>
for(let i = 0; i < $('.tab-button').length; i++) {
버튼.eq(i).on('click', function(){
버튼.removeClass("orange");
버튼.eq(i).addClass("orange");
내용.removeClass("show");
내용.eq(i).addClass("show");
});
}
</script>
반복횟수에 제한이 있어서 확장성에 문제가 있었으니 버튼의 갯수대로 반복하게 만들어주면 해결