14강 조건문 예고

 

 

깜깜한 상태에서 버튼을 클릭하면 밝은 상태가 되고 

밝은 상태에서 버튼을 클릭하면 깜깜한 상태가 되는 기능을 구현하는걸

토글(Toggle)이라고 한다.

 

 

 

15강 비교 연산자와 불리언

 

See the Pen 비교연산자와 Boolean 데이터 타입 by egoing (@egoing) on CodePen.

===는 비교 연산자(Comparison operator)라고 부른다.

 

비교 연산자는 좌항과 우항의 관계에 따라서 true,false 둘 중 하나의 값을 만들어내는 연산자다.

좌항과 우항의 값이 같으면 true, 다르면 false가 나온다.

 

true와 false 두 가지 값을 묶어서 Boolean이라고 부른다.

 

number,string같은 경우는 무한히 많은 데이터가 있지만 boolean은

단 2개의 데이터로 이루어져 있는 데이터 타입이다.

 

 

#HTML에서는 <는 꺽쇠라는 문법이기 때문에 less than이라는 뜻에서 &lt;가 <역할을 한다.

 

 

 

16강 조건문

See the Pen 조건문 by egoing (@egoing) on CodePen.

 

if문의 뒤에 따라오는 괄호 안에는 불리언(boolean) 데이터 타입이 오는데

 

true라면 첫 번째 중괄호에 있는 코드들이 실행되고 두 번째 중괄호는 무시된다.

false라면 첫 번째 중괄호에 있는 코그들이 무시되고 두 번째 중괄호가 실행된다.

 

즉, 불리언의 값에 따라서 실행되는 코드가 바뀐다는 것이다.

 

 

 

17강 조건문의 활용

See the Pen 조건문의 활용 by egoing (@egoing) on CodePen.

<input id="night_day" type="button" value="night" onclick="
    if(document.querySelector('#night_day').value === 'night'){
      document.querySelector('body').style.backgroundColor = 'black';
      document.querySelector('body').style.color = 'white';
      document.querySelector('#night_day').value = 'day';
    } else {
      document.querySelector('body').style.backgroundColor = 'white';
      document.querySelector('body').style.color = 'black';
      document.querySelector('#night_day').value = 'night';
    }
  ">

id가 night_day인 태그의 value 값이 night라면 배경은 검은색으로  글씨색은 하얀색으로 value값을 day로 바꾸라는 것

 

value값이 night가 아니라면 배경은 하얀색으로 글씨색은 검은색으로 value값을 night로 바꾸라는 것

'JScript > Today I learned' 카테고리의 다른 글

TIL#07 객체  (0) 2021.05.09
TIL#06 함수(매개변수,인자,리턴)  (0) 2021.05.09
TIL#05 배열과 반복문  (0) 2021.05.09
TIL#04 리팩토링 중복의 제거  (0) 2021.05.09
TIL#01 생활코딩 JavaScript  (0) 2021.05.08

 

01강

 

우리는 사용자와 상호작용하는 웹페이지를 만들고 싶다는 욕망이 생겼다.

 

HTML은 정적이다.

 

그래서 태어난 기술이 javaScript다.

 

무리한 비유를 해보자면

HTML이 정보라는 멈춰 있는 이미지를 그리는 것이라면 

JavaScript는 정보라고 하는 이미지를 마치 영화처럼 움직이게 하는 것이다.

 

02강

 

브라우저에서 오른쪽 클릭을 해서 검사라는 항목을 누르면 

엘리먼츠(elements)라고 써있는 것이 보이는데 

Elements는 태그라는 뜻이다.

 

/////

 

교훈

 

첫번째: 자바스크립트는 사용자와 상호작용을 하는 언어이다.

 

두번째: 웹브라우저는 한 번 화면에 출력되면 자기 자신을 바꿀 수 없지만

자바스크립트를 이용하면 바꾸는 것이 가능하다.

즉,'JavaScript는 HTML을 제어하는 언어'다 라고 하는 것이다.

 

이러한 특성이 웹페이지를 훨씬 더 동적으로, 다이나믹하게 만들어주는 것이다.

 

 

03강

기본적으로 JavaScript는 HTML 위에서 동작하는 언어다.

 

웹브라우저한테 HTML의 코드로 '지금부터 JavaScript가 시작됩니다'라고 알려주는 방법은

<Script>태그를 사용하는 것이다.

 

////////////////

 

<h1>JavaScript</h1>
<script>
  document.write('hello world');  <!-- 결과 : hello world -->
</script>

<h1>html</h1>
hello world      <!-- 결과 : hello world -->

 

자바스크립트로 적은 결과와 그냥 html로 적은 결과가 같으면 도대체 무슨 차이가 있냐고 할 수 있다.

 

하지만

 

See the Pen HTML과 JavaScript의 만남(script 태그) by egoing (@egoing) on CodePen.

 

1+1을 넣으면 HTML은 정적이기 때문에 영원히 1+1로 표시되지만

 

javascript는 동적이기 때문에 계산기처럼 동작할 수도 있다. 그 때문에 2가 나온다.

 

 

04강 

버튼을 만드는 태그는 <input>이다.

<input type="button" value="hi" onclick=:alert('hi')> 

<!-- type을 button으로 지정하면 버튼 모양이된다. -->
<!-- 글씨를 쓰고 싶으면 value라는 속성 값을 사용하면 된다.-->

 

 

HTML설명서에서는

 

1.onclick이라는 속성은 안에 javaScript를 사용해야한다. 

 

2.onclick의 속성의 속성 값은 웹브라우저가 기억하고 있다가

사용자가 onclick 속성이 위치하고 있는 태그를 클릭 했을 때

기억하고 있던 js코드를 js문법에 따라 해석해 거기 적혀 있는대로 웹브라우저가 동작할 것이라고 적혀있다.

 

 

웹브라우저 입장에서는 onclick 속성을 만나면

"alert('hi')를 기억하고 있다가 사용자가 이 버튼을 클릭하면 그 떄 실행해야지"

라고 생각하고 기다리다가 실제로 그런 일이 일어났을 때 실행 한다는 것이다.

 

이렇게 웹브라우저 위에서 일어나는 일들을 '이벤트(Event)'라고 한다.

 

웹브라우저에 일어나는 이벤트에는 무한히 많은 이벤트가 있을 것이지만 우리는 그 중에서 기념할만한

이벤트들을 10~20개 정도를 정해놨다. 

 

See the Pen HTML과 JavaScript의 만남 (이벤트) by egoing (@egoing) on CodePen.

onchange : 텍스트 안의 내용을 바꾸고 마우스 포인트를 바깥쪽으로 뺄 때 이벤트를 실행한다.

               바꾸지 않으면 실행되지 않는다.

 

onkeydown : 텍스트 안에 키를 다운하면 경고창이 나온다.

 

 

 

05강

 

우리는 JS를 실행하기 위해서 웹페이지를... 파일을 만들었다.

그런데 브라우저에서 오른쪽 클릭해서 검사 그리고 Console이라는걸 쓰면 

파일을 만들지 않고도 JavaScript 코드를 즉석에서 실행할 수 있다.

 

 

06강 데이터타입 - 문자열과 숫자

 

데이터 타입(자료형)

7개의 데이터 타입이 있다.

 

6개의 primitive(원시적인) 데이터 타입

1. Boolean

2. Null

3. Undefined

4. Number

5. String

6. Symbol( new in ECMAScript 6)

 

그리고 Object(객체)

 

///////////////////

 

Number(숫자)

String(문자 //정확하게는 문자열)

 

Number에서 아주 중요한 것은 연산이다.

 

+는

 

왼쪽에 있는 값과 오른쪽에 있는 값을 더해서 하나의 값을 만든다 -> 이항 연산자

 

이항 연산자 중에서도 산술을 하는 거기 때문에 ->산술 연산자

 

또 다른 산술 연산자는 여러가지가 있지만 사칙연산만 살펴보자.

 

2 -1 빼기

 

2*4 곱하기

 

6/2 나누기

 

String(문자 //정확하게는 문자열)

 

문자는 따옴표로 시작해서 따옴표로 끝나면 된다.

(큰 따옴표는 큰 따옴표로 끝내고 작은 따옴표는 작은 따옴표로 끝낸다.)

 

console

>"Hello world"

<"Hello world"

 

>'Hello world'

<"Hello world"

 

문자열에는 유용한 기능들이 있다.

 

console

>'Hello world'.length

<11

 

>'Hello world'.toUpperCaser()

<"HELLO WORLD"

 

>'Hello world'.indexOf('O')

<-1 // 찾을 수 없다는 뜻

 

> 'Hello world'.indexOf('o')

<4 // 0, 1, 2, ,3 ,4 - 4번째에 o이 있다는 뜻

 

> 'Hello world'.indexOf('world')

<6 // 6번째에서 world라는 문자열이 시작된다는 뜻

 

> '        Hello         '

< "        Hello         "

> '        Hello         '.trim

< "Hello" // 공백을 없애줌

 

 

///////////////////////

 

Console

 

>1+1 (숫자 데이터 타입)

<2 

 

>"1"+"1" (문자열 데이터 타입)

<"11"

 

 

7강 대입 연산자

 

'변수(variable) = 바뀔 수 있는 어떤 값'

 

console

>x = 1 ;

<1

>y = 1;

<1

>x+y;

<2

 

여기서 '=' 대입연산자라고 한다.

(오른쪽의 항의 값을 왼쪽의 변수에 대입한다. )

대입 연산자는 또 하나의 특징이 있는데 좌항과 우항을 결합해서 우항의 값을 만들어 낸다는 뜻이다.(몰라도 된다)

 

console

>1=2;

(x) uncaught ReferenceError: Invalid left-hand side in assignment

 

1에 2를 대입했다.

1은 언제나 1이기 때문에 에러가 뜨는 것이다.

 

X라고 하는 것은 대입 연산자를 통해 값이 바뀔 수 있는 변수지만

 

숫자 1은 언제나 1이기 때문에 Constant(상수)라고 부른다.

 

//////////////////////////////////

 

변수는 쓰는 이유는 무엇일까?

 

변수의 힘을 느껴볼 수 있는 아주 불완전한 예제를 하나를 보자.

3:12부터 예제

 

Console창에서 실행을 유보하고 싶을 때는 Shift+enter를 치면 된다.

 

변수를 사용할 때는 가급적 var이라는 키워드를 쓰는게 좋다.

없어도 비슷하지만 var을 쓰는게 조금 더 좋은 습관이다.

 

var name = 'leezhe'; // <- 이렇게 쓰자!

name = 'leezhe'; // <- 이렇게 써도 되지만...

 

이것의 장점과 단점을 알기 전까지는 그냥 항상 var을 쓰자.

 

 

 

08강 웹브라우저 제어

 

12강 제어할 태그 선택하기

See the Pen 주간/야간 모드 by egoing (@egoing) on CodePen.

document.querySelector(selectors); // 이 문서에서(document) 질의하다(query) Selector(css의 selector)

document.querySelector(selectors).style.backgroundColor ="color"; //배경색 바꾸기

 

'JScript > Today I learned' 카테고리의 다른 글

TIL#07 객체  (0) 2021.05.09
TIL#06 함수(매개변수,인자,리턴)  (0) 2021.05.09
TIL#05 배열과 반복문  (0) 2021.05.09
TIL#04 리팩토링 중복의 제거  (0) 2021.05.09
TIL#03 조건문 ,비교연산자, 불리언(Boolean)  (0) 2021.05.09

생활코딩 WEB1-HTML & Internet 16~17을 요약한 것이다.

 

 

원시웹

 

 

인터넷과 웹은 다른 것이다.

인터넷이 도시라면 웹은 건물 하나이다.

인터넷이 도로라면 웹은 자동차 한 대이다.

인터넷이 운영체제라면 웹은 앱이다.

 

 

 

인터넷을 여는 열쇠:서버와 클라이언트

 

 

인터넷이 동작하기 위해서는 최소한 2대의 컴퓨터가 필요하다.

 

1.웹브라우저가 설치된 컴퓨터는 웹서버가 설치된 컴퓨터에게 index.html파일을 요청(request)한다. 

 

2.웹서버가 하드디스크에서 index.html파일을 찾는다. 

 

3.찾은 index.html을 전기적 신호로 바꿔 웹브라우저에게 보내서 응답(response)한다. 

 

4.웹브라우저는 전기적 신호 안에 있는 코드를 읽어서 화면에 표시한다.

 

 

사람들은 

 

이 두 대의 컴퓨터가 서로 정보를 주고 받을 때 역할에 따라서 

 

정보를 요청하는 웹 브라우저가 깔린 컴퓨터를 클라이언트(Client) -고객

 

거기에 응답하는 웹 서버가 깔린 컴퓨터를 서버(server) -사업자(서비스를 제공하는 사람)

 

이라고 부르기로 했다.

 

'HTML > Today I learned' 카테고리의 다른 글

TIL#37 Domain Name System-1.수업소개  (0) 2021.05.30
TIL#01 생활코딩 -WEB1 상-  (0) 2021.05.03

본 내용은 '생활코딩 WEB2-CSS 01~15'까지의 내용을 통해 배운 것을 정리한 것이다.

 

 

 

02강~03강 CSS 등장 이전의 상황과 이후

 

 

 

CSS가 등장하기 이전

HTML은 디자인에 관련해서 새로운 태그를 추가하였지만

이는 한계가 있었다.

 

See the Pen MEROqR by egoing (@egoing) on CodePen.

 

 

 

 

 

 

 

지금은 사용하지 않는 <font>태그 이런 디자인만을 위한 태그는 

 

1. 정보로서의 html의 가치를 현격하게 떨어뜨렸다.

2. 또한, 다수의 수정을 할때 너무나도 불편했다.

 

<h1><a href="index.html"><font color="red">WEB</font></a></h1>
  <ol>
    <li><a href="1.html"><font color="red">HTML</font></a></li>
    <li><a href="2.html"><font color="red">CSS</font></a></li>
    <li><a href="3.html"><font color="red">JavaScript</font></a></li>
  </ol>

 

그래서 등장한게 새로운 문법이 바로 

 

 

 

CSS이다.

 

 

See the Pen eGoydN by egoing (@egoing) on CodePen.

 

 

CSS는 <style>태그 안쪽에 작성해야한다.

<head>
  <title>WEB - CSS</title>
  <meta charset="utf-8">
  <style>
    a {
      color:black;   /*a태그에 있는 폰트 컬러를 모두 검은색으로 바꿔라!*/
    }
  </style>
</head>

이렇게 함으로써 a태그가 1억개라도

style태그 안에 있는 a태그를 고치면 손쉽게 모든 a태그를 수정할 수 있게 되었다!

 

 

 

04강~05강 CSS의 기본 문법

 

 

 

css태그를 사용하기 위해서는 <style>태그 안쪽에 작성해야하는데

 

그것말고도 속성을 이용하는 방법이 있다.

 

 <ol>
    <li><a href="1.html">HTML</a></li>
    <li><a href="2.html">CSS</a></li>
    <li><a href="2.html" style="color:red;text-decoration:underline">CSS</a></li>
    <li><a href="3.html">JavaScript</a></li>
  </ol>

4열에 있는 style="" HTML 속성을 사용하여 CSS효과를 줄 수 있다.

 

 

<style>
    a {
      color:black;   /*a태그에 있는 폰트 컬러를 모두 검은색으로 바꿔라!*/
    }
  </style>

기존 사용하던 <style>태그는 color:black만 써서는 누구한테 지정하는지 알 수 없지 때문에

a{ } 와 같은 추가 코드가 필요한 것이다.

 

즉 웹페이지 안에 CSS 삽입하는 2가지 방법은 

 

1. Style 태그를 쓴다.

 

2. Style 속성을 쓴다. #선택자 필요없음!

 

 

 

 

 

 

Style태그 안의 구성을 좀 더 알아보자.

a는 selector(선택자) #이 웹페이지의 모든 a태그를 선택한다라는 뜻에서

 

color:red;는 Declaration(선언) or 효과

 

color는 Property(속성)

 

red는 Value(값) #property의 값이라는 뜻에서

 

 

추가적으로

 

세미콜론(;)은 구분자라고 부른다.

<style>
    a {
      color:black text-decoration: none  <!--구분자가 없어서 선언이 구분되지 않는다.--> 
    }
 </style>

폰트색과 밑줄을 없애는 선언을 구분자 없이 사용하면 '어디서부터 어디가 폰트색 선언이고 밀줄을 없애는 선언인지

구분이 가지않아' 코드가 작동하지 않는다.

 

<style>
    a {
      color:black; text-decoration: none; 
    }
 </style>

 구분자를 넣자 코드가 정상적으로 작동한다.

 

07강 CSS 선택자의 기본

 

 

선택자 우선순위는 

id > class > 태그이다.

(구체적 <-포괄적)

 

id값은 한 번만 등장해야 한다. (학번, 주민등록번호를 생각하자. 즉, 유일무이한 값)

ex)id값이 active이 한 번 등장하면 다른 id 값이 active가 나와서는 안된다.

 

 

 

! 만약 전부 다 똑같은 형태의 선택자라면?

 

예를 들어, 전부 다 클래스 선택자라고 한다면

가장 마지막에 등장하는 선택자가 우선순위가 높다.

 

 

 

 

# 선택자에 대해서 검색할 때 

 

'element는 태그와 같은 뜻'이다.

 

 

'CSS' 카테고리의 다른 글

position:sticky 완전정리  (0) 2021.06.20

+ Recent posts