티스토리 뷰

[HTML][CSS]

Javascript 문법 / Day-3

9.01 2024. 2. 22. 02:07

HTML = 뼈대 CSS = 꾸미기 Javascript = 움직이기 !

프로그래밍 언어 5가지 

1.변수 2.자료형 3.함수 4.조건문 5.반복문

Javascript 기초 문법 1 - 변수 이해 
변수

변수 : 값을 담음(문자,숫자,..) => 값을 담아서 한 번에 관리하기에 용이! (치환 느낌?)

console.log() : 검사->콘솔 _ 콘솔창에 뜨게 해주세요 

변수 이름 : 내가 기억하기 쉽게 지정

ex) let name = 'bob'; let age = 28;

<script>
  let a = 'hello';
  console.log(a);
</script>

 

<script>
  let a = '대한';
  let b = '민국';  
  console.log(a);
  console.log(b);
</script>

<script>
  let a = '대한';
  let b = '민국';
  console.log(a+b);
</script>

 

<script>
let a = '대한';
let b = '민국';
console.log(a+b);
console.log(a+b+b);
console.log(a+b+b+b);
</script>

# 한 번에 수정 가능 _ 'b=민국' 에서 'b=국민' 으로 바꾼다면?

<script>
let a = '대한';
let b = '국민';
console.log(a+b);
console.log(a+b+b);
console.log(a+b+b+b);
</script>

# 숫자도 가능 _ 덧셈

<script>
let a = 3;
let b = 5;
console.log(a+b);
console.log(a+b+b);
console.log(a+b+b+b);
</script>

 

Javascript 기초 문법 2 - 자료형 - 리스트, 딕셔너리

자료형 = 꾸러미 

리스트 

100개, 1000개, ... 리스트들을 관리 (순서 중요)

let a = [' ', ... , ' '] 대괄호 안에 리스트 나열 

console.log(a[ ]) => [ ] 안에 순서 적기 (0,1,2,3,...999)

<script>
let a = ['사과','','수박']
console.log(a[0])
</script>

변수에 대한 정보를 사전처럼 한 번에 묶기 위해 (정리하기 위해)

딕셔너리
<script>
let person = {'name' : 'bob' , 'age' : 30, 'height' : 180}
console.log(person)
</script>

# name에 접근 

<script>
let person = {'name' : 'bob' , 'age' : 30, 'height' : 180}
console.log(person['name'])
</script>

# 두 가지 이상 나열

<script>
let person = {'name' : 'bob' , 'age' : 30, 'height' : 180}
let name = person['name']
let age = person['age']
console.log(name, age)
</script>

Javascript 기초 문법 3 - 조건문, 반복문 
조건문
<script>
  let age = 15;

  if. (age <20) {
  console.log('청소년입니다.')
  } else {
  console.log('성인입니다.')
  }
</script>

age = 15 로 지정, 콘솔에 청소년이라고 뜸

반복문

어떤 꾸러미 수만큼 반복해라 => 순서대로 반복 => 리스트라는 꾸러미와 함께 쓰임

foreach 사용! (수정 필요)

<script>
let ages = [15,24,35,43,12,44];
array.forEach(element => {
 
});
</script>

포맷 : array.forEach(element => { ... });

=> 어떤 array를 forEach로 돌려서 써먹는다. 

여기서 수정하여 사용하면 됨

<script>
  let ages = [15,24,35,43,12,44];
    ages.forEach(a => {
    console.log(a)
  });
</script>

ages를 하나씩 돌려서 써먹는다.

# 변형 (반복문 추가)

 
let ages = [15, 24, 35, 43, 12, 44];

ages.forEach((a) => {
if (a< 20) {
console.log("청소년입니다.");
} else {
console.log("성인입니다.");
}
});

ages에서 하나씩 뺀 걸 a라고 부름

기존에 만든 반복문에서 age => a 로 바꾸면, ages의 숫자 중 하나를 꺼내 청소년 or 성인인지 판단하여 console에 내보냄 반복

 

Javascript 활용 문법 (DOM)
함수 만들기

함수 -> 같은 동작을 반복하는 것 

# Function 함수이름 () {}

<script>
  function hey () {
 
  }
</script>
Alert 띄우기

# script에 alert (' ') 넣기

<script>
function hey () {
alert ('기록할까요?')
}
</script>

# <body> 에 영화 기록하기 button에 onclick='hey()'

<button onclick="hey()" type="button" class="btn btn-outline-light">

-> 영화 기록하기 버튼을 누르면 hey라는 함수가 실행된다.

영화 기록하기 버튼을 눌렀을 때 alert 띄우기

JQuery 시작하기

HTML의 요소들을 조작하는 Javascript를 미리 더 쉽게 작성해둔 것. 라이브러리!

자바스크립트를 왜 쓴다? 웹을 조작하려고!

왜 조작해? 움직이게 만드려고!

그런데 순수 javascript만 사용하면 길고 복잡하니까 JQuery를 씀! 

Javascript로도 모든 기능(예 - 버튼 글씨 바꾸기 등)을 구현할 수는 있지만,

1) 코드가 복잡하고, 2) 브라우저 간 호환성 문제도 고려해야 해서,

JQuery라는 라이브러리가 등장하게 됨! 

JQuery 사용하기
JQuery CDN 임포트하기 <head>...</head> 사이에 복붙!

타이틀 아래에 CDN 붙여넣기

 

함수 이용하여 텍스트 바꾸기

1. <head>에 함수 hey() 만듦

<script>
function hey () {
 
}
</script>

2. <body>의 바꿀 부분에 id 값 주기 

<h1 class="display-5 fw-bold">킹덤</h1>

에서 id=title 값 추가 (JQuery로 조작하려면 id값을 주고 조작해야 함)

<h1 id='title' class="display-5 fw-bold">킹덤</h1>

3. <head>의 스크립트에 JQuery 사용 

$('#함수이름')

<script>
  function hey () {
    $('#title')
  }
</script>

id 가 title 이라는 아이를 지정

<script>
function hey () {
$('#title').text('쥬라기월드')
}
</script>

id가 title인 아이의 텍스트를 쥬라기월드로 바꿔라 

4. <body>에서 '~했을 때 함수하도록' 만들기

<button onclick="hey()" type="button" class="btn btn-outline-light">영화 기록하기</button>

영화 기록하기 버튼을 눌렀을 때, 함수 헤이해라 (함수 헤이=텍스트가 쥬라기월드로 바뀌어라)

 

JQuery 연습하기

새파일 prac.html 만들기 -> 자료에 있는 prac.html 스켈레톤 복사 -> prac.html에 붙여넣기

크롬으로 연 페이지

<div class="button-part">
<button onclick="checkResult()">결과 확인하기!</button>
</div>

버튼을 클릭했을 때, 함수 checkResult해라 (함수 checkResult=?) 부분에서 쓰인 checkResult에 대해 정의가 없는 상태!

함수 정의해보기
<script>
function checkResult() {
$('#q1').text('쥬라기월드');
}
</script>

# 함수 chekResult 정의

<div class="button-part"> <button onclick="checkResult()">결과 확인하기!</button> </div>

# q1을 눌렀을 때 쥬라기월드라는 텍스트를 추가해라 

 

전->후

 

리스트 자료형 

리스트 자료형 코드스니펫 복사 -> 함수 아래에 붙여넣기 

let a = ['사과', '배', '감', '귤']

<script>
function checkResult() {
let a = ['사과', '', '', '']
$('#q1').text(a[2]);
}
</script>

$('#q1').text(a[2]); => a의 3번째를 가져와라 

딕셔너리 자료형

딕셔너리 자료형 코드스니펫 복사 -> 함수 아래에 붙여넣기 

let b = {'name' : '영수','age' : 30}

<script>
function checkResult() {
let b = {'name' : '영수','age' : 30}]
$('#q1').text(b['name']);
}
</script>

$('#q1').text(b['name']); => b의 name을 가져와라 

리스트-딕셔너리 자료형

let c = [
{'name':'영수', 'age':30},
{'name':'철수', 'age':35}
]

let c = [
{ name: "영수", age: 30 },
{ name: "철수", age: 35 }
];

철수를 가져오고 싶다면? => c의 1번째의 name 

$("#q1").text(c[1]['name']);

즉, 

<script>
function checkResult() {
let c = [
{ name: "영수", age: 30 },
{ name: "철수", age: 35 }
];
$("#q1").text(c[1]['name']);
}
</script>

JQuery 연습하기 append 1
자바스크립트 연습코드 - 리스트 

자바스크립트 연습코드 복붙

<!DOCTYPE html>
<html>

<head>
<title>자바스크립트 문법 연습하기!</title>
</head>
<script>
function checkResult() {

}
</script>

<body>
<div class="top-part">
<h1>자바스크립트 문법 연습하기!</h1>
</div>
<hr />
<br>
<h2>1. 함수</h2>
<div class="button-part"> ... 

 

<script>
function checkResult() {

}
</script>

함수 부분 비어있음!

 

fruits 코드스니펫 복붙

let fruits = ['사과','배','감','귤','수박'] 

함수 정의하기 

<script>
function checkResult() {
let fruits = ['사과','','','','수박']
}
</script>

 

 
사과를  [ 2. 붙이기 ] 아래에 붙여보기
<h2>2. 붙이기</h2>
<div id="q1">
<p>사과</p>
<p></p>
<p></p>
</div>

2. 붙이기 아래에 사과 귤 감을 없애고 사과만 넣기

# 1. 지우기 

- 일단 q1을 지정하기 $('#함수이름') => id가 q1이라는 아이를 지정

function checkResult() {
let fruits = ['사과','','','','수박'];
$('#q1')
}

- 지정 후 .empty() 사용

function checkResult() {
let fruits = ['사과','','','','수박'];
$('#q1').empty();
}

2. 아래에 있던 아이들 없어짐!

# 2.붙이기 

html을 만들어서 붙임

- 일단 html 만들기

let temp_html = ` <p>감자</p>`;

temp_html 은 변수 이름

`` 백틱 사용

let temp_html = ` <p>감자</p>`;
$('#q1').append(temp_html);

감자 라는 html이 (temo_html)에 들어가서 붙게 됨 => 다 지워지고 감자만 남는다.

다 지워지고 감자만 붙음

- 우리는 사과가 붙길 원하니까 

let a = fruits[0]; 써주고 (fruits 0번째는 사과임)

<p>감자</P> 였던 부분을 감자 대신 ${a}로 바꿈 (a=fruits의 0번째=사과)

 
let a = fruits[0];
let temp_html = `<p>${a}</p>`;
$('#q1').append(temp_html);

사과만 붙음

# 3. 배 감 귤 수박 다 붙이려면?

- foreach문을 통해 반복하게 만들면 됨!

array.forEach(element => {
 
});

=> array를 가지고 돈다

- foreach문 수정

fruits를 가지고 돌게 바꿈, element 너무 길어서 a로 바꿈

fruits.forEach(a => {
 
});

=> fruits를 가지고 a를 뽑아서 돈다.(반복) 

- html을 만들어 붙이게 함

fruits.forEach(a => {
let temp_html = `<p>${a}</p>`;
$('#q1').append(temp_html);
});

사과 html 만들어 붙이고, 배 html 만들어 붙이고 ... 반복

즉, 

function checkResult() {
let fruits = ["사과", "", "", "", "수박"];
 
$("#q1").empty();

fruits.forEach((a) => {
let temp_html = `<p>${a}</p>`;
$("#q1").append(temp_html);
});
}

사과 배 감 귤 수박이 다 붙음!

 

JQuery 연습하기 append 2
자바스크립트 연습코드 - 딕셔너리
append1을 바탕으로 append2 연습
function checkResult() {
let fruits = ["사과", "", "", "", "수박"];

$("#q1").empty();

fruits.forEach((a) => {
let temp_html = `<p>${a}</p>`;
$("#q1").append(temp_html);
});
}

이전에 했던 append1에서 let fruits 부분을 없애고 

- people 코드스니펫 복붙

let people = [
{'name':'서영','age':24},
{'name':'현아','age':30},
{'name':'영환','age':12},
{'name':'서연','age':15},
{'name':'지용','age':18},
{'name':'예지','age':36}
]

function checkResult() {
 
let people = [
{'name':'서영','age':24},
{'name':'현아','age':30},
{'name':'영환','age':12},
{'name':'서연','age':15},
{'name':'지용','age':18},
{'name':'예지','age':36}
]

이렇게 만든 뒤, 

$("#q1").empty();

fruits.forEach((a) => {
let temp_html = `<p>${a}</p>`;
$("#q1").append(temp_html);
});

기존 append1 에서 q1대신 q2를 넣기 

# q2를 다 없애고 html 만들어 붙이기 (append1에서 수정)

$("#q2").empty();

fruits.forEach((a) => {
let temp_html = `<p>${a}</p>`;
$("#q2").append(temp_html);
});
}

fruits 대신 people로 바꾸고, <p>감자</p> 대신에 <p>영수는 24살입니다.</p> 이걸 쓸 거니까 

people.forEach((a) => {
let temp_html = `<p>영수는 24살입니다.</p>`;
$("#q2").append(temp_html);
});

에서 <p></p> 부분을 함수로 지정. ${a} 사용 -> ${변수[변수]} 

'영수' => ${a["name"]} '24' => ${a["age"]}

 
 
$('#q2').empty();

people.forEach(a => {
 
let temp_html = `<p>${a["name"]}${a["age"]}살입니다.</p>`;
$('#q2').append(temp_html);
});
}

= 같음 

여기선 간단하게 ${ }를 사용하려고 

let name 정의, age 정의함 

$('#q2').empty();

people.forEach(a => {
 
let name = a['name']
let age = a['age']
let temp_html = `<p>${name}${age}살입니다.</p>`;
$('#q2').append(temp_html);
});
}

숙제 

이렇게 만들기

people 코드스니펫

let people = [
    { 'name': '서영', 'height': 165 },
    { 'name': '현아', 'height': 170 },
    { 'name': '영환', 'height': 175 },
    { 'name': '서연', 'height': 162 },
    { 'name': '지용', 'height': 190 },
    { 'name': '예지', 'height': 168 }
]

<script>
function checkResult() {
let people = [
{ name: "서영", height: 165 },
{ name: "현아", height: 170 },
{ name: "영환", height: 175 },
{ name: "서연", height: 162 },
{ name: "지용", height: 190 },
{ name: "예지", height: 168 },
];

$("#q2").empty();

people.forEach(a => {
let name = a["name"];
let height = a["height"];
let temp_html = `<p>${name}의 키는 ${height}cm 입니다.</p>`;
$("#q2").append(temp_html);
});
}
</script>

'[HTML][CSS]' 카테고리의 다른 글

Javascript jQuery + fetch / Day-4  (1) 2024.02.27
Javascript jQuery / Day-4  (0) 2024.02.22
Visual Studio Code / Day-2  (1) 2024.02.21
Visual Studio Code / Day-1  (0) 2024.02.21
[HTML 기본 태그]  (0) 2023.09.14
공지사항
최근에 올라온 글