
JavaScript는 HTML에서 다음 세 가지 방식으로 선언할 수 있다.
<script>
alert("내부 방식으로 작성된 JavaScript입니다.");
</script>
<script> 태그 내부에 코드를 작성<body> 하단에 위치해 HTML 로딩 이후 실행되도록 함<button onclick="alert('인라인 방식')">클릭</button>
<script src="main.js"></script>
.js 파일에 작성하고 링크함<script>는 HTML 요소보다 뒤쪽에 위치해야 DOM 요소를 정상 인식함<head>에 넣을 경우 DOMContentLoaded 이벤트나 $(document).ready() 필요$(선택자).동작함수(매개변수);
$("#id"), $(".class").html(), .text(), .css().on("click", function() {...})<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(document).ready(function() {
$("#btn").on("click", function() {
$("#text").text("버튼 클릭됨!");
});
});
</script>
<button id="btn">클릭</button>
<p id="text">기본 텍스트</p>
alert("닫기 전까지 다음 코드 실행 안 됨");
console.log("이건 나중에 출력됨");
setTimeout(() => {
console.log("3초 후 출력");
}, 3000);
console.log("이건 먼저 실행됨");
| 항목 | 동기 (Synchronous) | 비동기 (Asynchronous) |
|---|---|---|
| 실행 순서 | 순차 처리 | 병렬 처리 가능 |
| 흐름 차단 | O | X |
| 사용자 경험 | 멈춤 발생 가능 | 자연스러운 UX |
| 예시 | alert(), form submit | setTimeout(), fetch() |
{
"name": "Emma",
"age": 25,
"skills": ["JavaScript", "Python"]
}
let data = {
name: "Emma",
age: 25,
skills: ["JavaScript", "Python"]
};
console.log(data.skills[1]); // "Python"
fetch("https://api.example.com/data")
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error("에러 발생:", err));
HTML 요소를 JS로 동적으로 생성하는 방법 정리
| 동작 | 메서드 |
|---|---|
| 태그 생성 | document.createElement() |
| 텍스트 생성 | document.createTextNode() |
| 속성 생성 | document.createAttribute() |
| 속성 추가 | setAttributeNode() |
| 요소 추가 | appendChild() |
let span = document.createElement("span");
let text = document.createTextNode("생성된 텍스트입니다.");
span.appendChild(text);
document.getElementById("container").appendChild(span);
let img = document.createElement("img");
let src = document.createAttribute("src");
src.value = "https://image-url.com/example.png";
img.setAttributeNode(src);
document.getElementById("container").appendChild(img);
→ 실습 전체 HTML은 마크다운 상단 참고
너무 깔끔해요~