본문 바로가기

코딩공부/WEB2 - JavaScript

[7] 배열과 반복문

최종 목표 : 버튼 클릭 시, 어두운 경우엔 밝게, 밝은 경우엔 어두운 컬러로 링크가 표현되도록 한다.

웹페이지에 모든 링크를 style 속성 값을 밝게 바꿔준다. -> 일일이? No!! 반복문을 이용해서

 

배열

데이터가 많아짐에 따라 연관된 데이터들을 모아서 담아두는 수납상자

반복문

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Loops_and_iteration

 

루프와 반복

루프는 어떤 것을 반복적으로 시행할때 빠르고 간편한 방법을 제공합니다. JavaScript Guide의 이 쳅터는 JavaScript 에서 사용가능한 서로다른 반복문을 소개합니다.

developer.mozilla.org

 

동료 이름을 나열하려고 한다. 동료가 100명이면...??

 

  1. 배열에 서로 연관된 데이터들을 담는다.
  2. 반복문을 통해 배열에 담긴 데이터를 순차적으로 꺼내서 li 라는 태그로 만들어 준다.

배열에서 각 항목을 '원소(element)' 라고 한다.

<!doctype html>
<html>
  <head>
    <title></title>
    <meta charset="utf-8">
  </head>
  <body>
    <h1>Loop & Array</h1>
    <script>
      var coworkers = ['egoing', 'leezche', 'duru', 'taeho'];
    </script>
    <h2>Co workers</h2>
    <ul>
      <script>
        i = 0;
        while( i < coworkers.length ){
          document.write('<li>'+coworkers[i]+'</li>');
          i++;
        }
      </script>
    </ul>
  </body>
</html>

배열과 반복문

 

데이터가 바뀐다고 해서 로직을 수정한다??? NO!!!

바뀌는 데이터에 따라 유연하게, 다이나믹하게, 일래스틱하게 동작하도록 해야 한다.

예를 들어, while의 조건문에 조건의 값으로 상수가 아닌 배열의 길이 (.length) 가 들어가도록 하면 된다.

 

 


배열과 반복문의 활용

목표 : 버튼 클릭 시, 웹페이지에 모든 링크가 어두운 경우엔 밝게, 밝은 경우엔 어두운 컬러로 표현되도록 style 속성값을 바꿔준다.

 

1. HTML 내의 모든 a 태그를 가져와서 배열로 저장 [JS 문법]

javascript get all html tags
javascript get element by css selector multiple

 

콘솔창에서 먼저 테스트해보면 된다.

 

 

2. a 태그의 style 속성값 설정

  <input type="button" value="night" onclick="
  var target = document.querySelector('body');
  var alist = document.querySelectorAll('a');
  if(this.value === 'night'){
    target.style.backgroundColor = 'gray';
    target.style.color = 'white';
    this.value='day';

    var i=0;
    while( i < alist.length ){
        alist[i].style.color = 'orange';
        i++;
    }
  }else{
    target.style.backgroundColor = 'white';
    target.style.color = 'black';
    this.value='night';

    var i=0;
    while( i < alist.length ){
        alist[i].style.color = 'black';
        i++;
    }
  }
  ">

01
a 태그 style 속성 - 글꼴색 변화

 

'코딩공부 > WEB2 - JavaScript' 카테고리의 다른 글

[9] 객체  (0) 2019.09.07
[8] 함수  (0) 2019.09.06
[6] 리팩토링(refactoring) - 중복의 제거, this 키워드  (0) 2019.09.06
[5] 조건문  (0) 2019.09.06
[4] 프로그램, 프로그래밍, 프로그래머  (0) 2019.09.06