HTML로 웹의 내용을 작성하고, CSS로는 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현할 수 있습니다.
웹 페이지를 위한 스크립트 언어로 잘 알려져 있지만, Node.js 같은 비 브라우저 환경에서도 사용하고 있습니다.
문법상 비슷한 부분은 두 언어의 문법 모두 C언어 기반, 그치만 다름
자바(Java) | 자바스크립트(JavaScript) |
---|---|
컴파일 언어 | 인터프리터 언어 |
타입 검사를 엄격하게 함. | 타입을 명시하지 않음. |
객체 지향 언어 | 프로토타입 기반 |
HTML과 JavaScript의 만남(script 태그)
운영 체제 | 단축키 |
---|---|
Windows | F12 또는 Ctrl + Shift + I |
macOS | command ⌘ + option ⌥ + I |
크롬에서 키보드 F12(개발자도구) 누르고 콘솔(console)을 누른 뒤 콘솔 창에 따라 쳐보세요.
console.log("Hello Likelion");
얘도 js 엔진 내장
목적 : 서버 개발 환경을 제공 + a
문서 객체 모델(DOM, Document Object Model)은 XML이나 HTML 문서에 접근하기 위한 일종의 인터페이스
document.innerHTML
- HTML 변경 , innerText
document.write()
- HTML 출력alert()
- 경고 상자 쓰기console.log()
- 브라우저 콘솔에 쓰기onclick
- 사용자가 HTML 요소를 클릭시 실행document.querySelector()
- 선택자와 일치하는 문서 내 첫 번째 Element
를 반환 일치하는 요소가 없으면 null
을 반환
Method | Description |
---|---|
document.getElementById(id) | 요소의 id로 요소 찾기 |
document.getElementsByTagName(name) | 태그 이름으로 요소 찾기 |
document.getElementsByClassName(name) | 클래스 이름으로 요소 찾기 |
간단하게 글자색을 바꿔보아요
예제코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Likelion</title>
</head>
<body>
<h2>Red</h2>
<h2 id="blue">Blue</h2>
<h2 class="green">Green</h2>
<button onclick="querySel()">querySelector</button>
<br />
<br />
<button onclick="getId()">getElementById</button>
<br />
<br />
<button onclick="getClass()">getElementsByClassName</button>
</body>
<script>
function querySel() {
document.querySelector("h2").style.color = "red";
}
function getId() {
document.getElementById("blue").style.color = "blue";
}
function getClass() {
document.getElementsByClassName("green")[0].style.color = "green";
}
</script>
</html>
이벤트란 시스템에서 일어나는 사건인데, 그것들에 어떠한 방식으로 응답할 수 있도록 시스템이 말해주는 것
변수란 var
, let
, const
키워드를 사용하여 선언하고 할당 연산자를 사용해 값을 할당하는 것
let score; // 변수의 선언
score = 80; // 값의 할당
score = 90; // 값의 재할당
변수 선언과 변수 할당
const - 상수 : 값 변하지 ❌
let - 변수 : 값 변할 수 ⭕️
var - 전역 변수 → 비권장
const a = 'likelion'; // 문자열
let b = 0; // 숫자
var c = false; // 불린 - true, false
const d = null; // 널 값을 의도적으로 빈값을 둠 (빈상자)
let e = undefined; // 언디파인드 값이 존재하지않음 (상자x)
var f = []; // 배열 ['1', 1, 'likelion']
const g = {}; // 객체 { name: likelion, session: 2 }
let h = function() {}; // 함수 function likelion() { console.log("Hello Likelion");
const isMember = '$1.00';
isMember ? '$2.00' : '$10.00'
if(1 === 2){
console.log("맞아요!"); // 조건1이 맞는 경우
}
else if(1 === 2) {
console.log("위에 조건은 아니긴한데 이번 조건은 맞아요!"); // 조건2가 맞는 경우
}
else {
console.log("다아닌데요?"); //조건 1,2가 아닌 경우
}
문제
불러주는 정수 두개가 입력으로 들어오면
큰수 - 작은수의 값을 출력하세요
예제
입력 : a = 3 b = 7
출력 : 4
힌트
const a = prompt("첫번째 정수를 입력해주세요"); //입력
const b = prompt("두번째 정수를 입력해주세요"); //입력
alert(Number(aconst a = prompt("첫번째 정수를 입력해주세요"); //입력
const b = prompt("두번째 정수를 입력해주세요"); //입력
alert(Number(a) - Number(b)); //출력) - Number(b)); //출력
let i = 0;
while(i === 3){ // 조건문이 참이면 반복
console.log("Hello Likelion");
i++;
if(i === 3) break;
}
for(초기식; 조건문; 증감문) { // 조건문이 참이면 반복
console.log("Hello Likelion");
}
// 2중 반복문
for(let i = 5; i>3; i--) { // 조건문이 참이면 반복
console.log("Hello Likelion");
for(let j = 0; j<3; j++) {
console.log("Hello 2Week");
}
}
for(let i =0; i<10; i++){
console.log(i);
}
<실습 : HTML 안에 js 반복문을 이용하여 별을 지어보세요!
>
제한시간 : 5M
function sum(n) {
let a = 0;
for (let i = 1; i <= n; i++) {
a += i;
}
return a;
}
const n = prompt("숫자를 입력해주세요");
alert(sum(n));
for(let i = 0; i<5; i++){
document.write('*');
}
for(let i = 0; i<5; i++){
document.write('*');
document.write('<br>');
}
const likeLionArray = ['1', 2, 'likelion'];
객체란 ?
객체를 선언 할 때에는 이렇게 { }
문자 안에 원하는 값들을 넣어주면 됩니다.
값을 집어 넣을 때에는
키: 원하는 값
const userData = {
'name': '박재민',
'age' : '24',
'phone': '01000000000'
}
function 함수명(파라미터) {
코드블록
}
const 함수명 = (파라미터) => {
코드블록
}
function add(a, b, c) {
return a + b + c;
};
const add = (a, b) => {
return a + b;
};
화살표함수로는 더 간단하게, 한 줄로도 표현 가능 !const add = (a, b) => a + b;
< 실습 : 함수 호출해보기 >
<
sum함수를 만들어 1~n까지의 숫자의 합을 출력해보세요
>
const n = prompt("숫자를 입력해주세요");
alert(sum(n));
팀원들을 도와주세요
코드를 짜주시지말고 설명으로 도와주세요 ! 시간 제한 이후 랜덤으로 답을 질문할 예정입니다 !
다음의 자바스크립트 문법들을 이용하여 코드의 빈칸들을 채워보세요.
아래의 리스트들이 어떤 기능을 하는지, 어떻게 사용해야하는지 모르신다면 구글링을 활용해주세요.
코드들을 다 채우셨다면 아래의 기능들로 코드를 바꿔주세요
아래 사진 처럼 총 점수도 5점이 되어야합니다! (5점만점)
git clone 을 받아주세요 !
git clone https://github.com/mju-likelion/Digda
브랜치를 파주세요
git checkout -b 팀명
코드 완성
git commit 과 push를 진행해주세요
git commit -m "자유롭게 메세지를 작성해주세요~"
git push
만약 아래와 같은 에러가 뜬다면, 아래 코드를 입력해주세요
git push --set-upstream origin 팀명
< 실습 답안 확인 >