Top

031 javascript 공부 (1) 비교연산자, boolean, 배열, 반복문 등

Daily Study/Web Dev

2021. 3. 23.

반응형

어제부터 javascript 공부를 시작했다.



egoing 님의 유튜브 무료 강의를 듣고 있는데

전에 html, css 강의와는 달리 포괄적인 개념에 대해 이해시키고

간단한 예제를 실행해보는 거라서

 

아마 htm, css 공부하던 것처럼 코드가 형태로 남을 것 같진 않다.

 

강의를 보고 내가 따로 써봐야 제대로 알게 될 것 같다.

 

어제는 딱히 남길 내용은 없었고

오늘은 비교연산자, boolean, 배열, 반복문 까지 했다.

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
	<h1><a href="index.html">WEB</a></h1>
    <input type="button" value="night" onclick="
    var target = document.querySelector('body');
    if(this.value === 'night') {
      target.style.backgroundColor = 'black';
      target.style.color = 'white';
      this.value = 'day';

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

      var alist = document.querySelectorAll('a');
        var i = 0;
        while(i < alist.length){
        alist[i].style.color = 'blue';
        i = i + 1;
      }

    }
    ">
  <ol>
    <li><a href="1.html">HTML</a></li>
    <li><a href="2.html">CSS</a></li>
    <li><a href="3.html">JavaScript</a></li>
  </ol>
  <h2>JavaScript</h2>
  <p>
    JavaScript (/ˈdʒɑːvəˌskrɪpt/[6]), often abbreviated as JS, is a high-level, dynamic, weakly typed, prototype-based, multi-paradigm, and interpreted programming language. Alongside HTML and CSS, JavaScript is one of the three core technologies of World Wide Web content production. It is used to make webpages interactive and provide online programs, including video games. The majority of websites employ it, and all modern web browsers support it without the need for plug-ins by means of a built-in JavaScript engine. Each of the many JavaScript engines represent a different implementation of JavaScript, all based on the ECMAScript specification, with some engines not supporting the spec fully, and with many engines supporting additional features beyond ECMA.
  </p>
  <input type="button" value="night" onclick="
    if(this.value === 'night') {
      document.querySelector('body').style.backgroundColor = 'black';
      document.querySelector('body').style.color = 'white';
      this.value = 'day';
    }
      else {document.querySelector('body').style.backgroundColor = 'white';
      document.querySelector('body').style.color = 'black';
      this.value = 'night';
    }
    ">
</body>
</html>

위의 움짤처럼 버튼을 클릭하면 배경과 텍스트 색이 바뀌고

다시 클릭하면 바뀌는 스크립트를 넣었다.

 

음.. 그나마 간단하게 풀어서 얘기하자면

 

버튼에는

버튼 값이 night일 경우에 버튼을 클릭하면

target의 css 스타일 중

background-color가 black으로

color가 white로

 

버튼 값이 day일 경우에 버튼을 클릭하면

target의 css 스타일 중

background-color가 white로

color가 black으로

 

변하게 짠 스크립트인데

 

거기에 참, 거짓으로 나누는 boolean을 접목시켜서 

if(this.value === 'night') { }

else { }

하는 스크립트를 넣었다.

 


 

아무래도 아직까진 내가 직접 뭘 생각하고 검색하고 짜본 단계가 아니라서

함부로 말하기 뭐하지만

 

확실히 배열, 반복문 같은 예제를 봤을 때,

제대로 코드를 짜두면 나중이 편하다는 걸 해보지 않아도 알 수 있었다...

 

근데 아마도 몇 번은 개고생 노가다를 해봐야 그제서야

저런 한 수 더 나아가서 하는 코딩의 필요성을 몸소 느끼고

열심히 할 것 같긴 하다ㅋㅋㅋㅋㅋㅋ

반응형