WEB/HTML+CSS+JS

๋ฐ”๋‹๋ผ ์Šคํฌ๋ฆฝํŠธ - part 2 ์ •๋ฆฌ

kite707 2021. 1. 4.

https://nomadcoders.co/javascript-for-beginners

 

๋ฐ”๋‹๋ผ JS๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ - ๋…ธ๋งˆ๋“œ ์ฝ”๋” Nomad Coders

Javascript for Beginners

nomadcoders.co

์ด๋ฒˆ์—๋Š” ๋ฐ”๋‹๋ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๋‹ค.

ํ•™์Šต ๋„๊ตฌ๋Š” Repl์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋‹ค์šด๋ฐ›์„ ํ•„์š”๊ฐ€ ์—†๊ณ  ์‚ฌ์šฉ๋ฒ•๋„ ๊ฐ„๋‹จํ•˜๋‹ค.

https://repl.it/~

 

Log In

Repl.it is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages: Clojure, Haskell, Kotlin, QBasic, Forth, LOLCODE, BrainF, Emoticon, Bloop, Unlambda, JavaScript, CoffeeScript,

repl.it

 

๋ฌธ์ž์—ด ์•ˆ ๋ณ€์ˆ˜ ์ž‘์„ฑํ•˜๊ธฐ

function sayHello(name,age){
  console.log(`Hello ${name} you are ${age} years old`);
}

sayHello("Nicolas",15);

js์—์„œ ์•„์ด๋””๋กœ ์—˜๋ฆฌ๋จผํŠธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

document.getElementById("์•„์ด๋”” ์ด๋ฆ„");

 

DOM - Document Object Module

์›นํŽ˜์ด์ง€์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์„ ํƒํ•œ ๊ฒƒ์€ ๊ฐ์ฒด๊ฐ€ ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด HTMLํŒŒ์ผ์— ์ ํ˜€์žˆ๋Š” ๋‚ด์šฉ์„ JS๋ฅผ ์ด์šฉํ•ด ํ™”๋ฉด์—๋Š” ๋‹ค๋ฅด๊ฒŒ ์ถœ๋ ฅ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์ œ๋กœ ํ•™์Šตํ•ด๋ณด์ž.

<!--index.html-->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>repl.it</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <h1 id="hi">This is HTML</h1>  <!--This is HTML์ด๋ผ๊ณ  ์“ฐ์—ฌ์žˆ๋‹ค-->
    <script src="script.js"></script>
  </body>
</html>
//script.js
const title = document.getElementById("hi"); //id๊ฐ’์ด hi์ธ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
title.innerHTML="This is JavaScript"; //๋‚ด์šฉ์„ This is JavaScript๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

์‹คํ–‰๊ฒฐ๊ณผ์ด๋‹ค.

์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด This is HTML์—์„œ This is JavaScript๋กœ ๋‚ด์šฉ์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์œ„์—์„œ id์ด๋ฆ„์œผ๋กœ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ๋ดค๋Š”๋ฐ id, class๋“ฑ ๋ชจ๋“  ๊ณณ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. CSS์„ ํƒ์ž์™€ ๋น„์Šทํ•˜๋‹ค.

document.querySelector("id, class๋“ฑ์˜ ์ด๋ฆ„") //#id ๋˜๋Š” .class์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•œ๋‹ค.

 

Events and Event handlers

์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•œ๋‹ค.

๊ฐ์ฒด.addEventListener("์ด๋ฒคํŠธ์ด๋ฆ„",๋ถˆ๋Ÿฌ์˜ฌ ํ•จ์ˆ˜);

์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. "resize"๋ผ๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ์‹œ handleResize๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ ์ฃผ์˜ํ•  ์ ์€ ํ•จ์ˆ˜๋’ค์— ()๋ฅผ ์“ฐ์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค. ํ•จ์ˆ˜()์™€ ๊ฐ™์ด ์ž‘์„ฑํ•  ์‹œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋„ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

ํ•จ์ˆ˜    -> ๋‚ด๊ฐ€ ํ•„์š”ํ•  ๋•Œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค
ํ•จ์ˆ˜()  -> ํ•จ์ˆ˜๋ฅผ ์ฆ‰์‹œ ํ˜ธ์ถœํ•œ๋‹ค.

์ด์ œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณด์ž

const title = document.querySelector("#hi");

function handleResize(){
  console.log("I have been resized");
}

window.addEventListener("resize",handleResize);

์˜๋„ํ•œ๋Œ€๋กœ "resize"์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ž ์ฝ˜์†”์ฐฝ์— "I have been resized"๋ฌธ๊ตฌ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์กฐ๊ฑด๋ฌธ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋„ ์กฐ๊ฑด๋ฌธ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

if(condition){
  block
}
else{
  block
}

์กฐ๊ฑด์„ ์—ฌ๋Ÿฌ๊ฐœ and๋กœ ๋ฌถ๊ณ  ์‹ถ์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

if(condition1 && condition2 && condition3 ...){
  block
}
else{
  block
}

์กฐ๊ฑด์„ ์—ฌ๋Ÿฌ๊ฐœ or๋กœ ๋ฌถ๊ณ  ์‹ถ์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

if(condition1 || condition2 || condition3... ){
  block
}
else{
  block
}

|๋Š” shift+\๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์กฐ๊ฑด์„ ์ž‘์„ฑํ•  ๋•Œ "๊ฐ™๋‹ค"๋Š” ===๋กœ ํ‘œ๊ธฐํ•œ๋‹ค๋Š”๊ฒƒ์„ ์žŠ์ง€ ๋ง์ž.

ex) 10===10  <-false

 

 

 

๋Œ“๊ธ€