* 변수 선언 ( var / let / const )

var : 재선언과 재할당이 가능하며 함수 내에서 사용 가능
var variableName = document.quelySelector("#var");
let : 재선언은 불가능, 재할당은 가능하며 {}(중괄호)내에서 사용가능
let age = 20;
age = 21;
if(true) {
let age = 20;
}
console.log(age);
const : 재선언과 재할당이 불가능하며 {}(중괄호)내에서 사용가능
const city = "seoul";
city = "busan";
let과 const의 장점 : 코드가 길어질 수록 변수 생성에 실수
* 다크모드 (Dark Mode)

html
<span class="badge bg-dark">Dark 🔄</span>
javascript
var count = 0;
var badge = document.querySelector(".badge");
var body = document.querySelector("body");
badge.addEventListener("click", function () {
count += 1;
if ((count % 2) == 0) {
body.style.backgroundColor = "white";
badge.innerHTML = "Dark 🔄";
badge.style.color = "black";
} else {
body.style.backgroundColor = "black";
badge.innerHTML = "White 🔄";
badge.style.color = "white";
}
});
setTimeout() : n초 후에 실행 (딜레이)
기본 코드 ( 두 줄 중 한 줄 사용 )
setTimeout(function(){ }, ms);
setTimeout(functionName, ms);
응용 코드
function hideAlert() {
document.querySelector(".alert").style.display = "none";
}
setTimeout(hideAlert, 5000);
setInterval() : n초마다 반복 실행
기본 코드 ( 두 줄 중 한 줄 사용 )
setInterver(function(){ }, ms);
setInterver(functionName, ms);
응용 코드

html
<div class="alert alert-danger">
<span class="count-num">5</span>초 이내 구매시 사은품 증정
</div>
javascript
let count = 5;
var timer = setInterval(countdown, 1000);
function countdown() {
count--;
document.querySelector(".count-num").innerHTML = count;
if (count == 0) {
document.querySelector(".alert").style.display = "none";
clearInterval(timer);
}
}
Callback function ( 콜백함수 ) : 함수 파라미터 자리에 들어가는 함수
addEventListener("Method", function () { });
setTimeOut(functionName, ms);