<script>태그를 이용해서 작성할 수 있고<script>태그는 웹 문서 안의 어디든 위치할 수 있고 삽입된 위치 그 자리에서 바로 스크립트가 실행됨.<script>태그는 하나의 문서에서 여러 개 사용할 수도 있음.</body>태그 직전에 자바스크립트 소스를 삽입함.<script>태그 없이 자바스크립트 소스만 작성하고*.js파일로 저장하면 됨.<script>태그의 src속성을 이용해서 자바스크립트 파일을 연결하면 됨.<script src="외부 스크립트 파일 경로"></script>
Ex.html
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>글자색 바꾸기</title>
<style>
body { text-align:center; }
#heading { color:blue; }
#text {
color:gray;
font-size:15px;
}
</style>
</head>
<body>
<h1 id="heading">자바스크립트</h1>
<p id="text">위 텍스트를 클릭해 보세요</p>
<script src="js/change-color.js"></script>
</body>
</html>
.js
var heading = document.querySelector('#heading');
heading.onclick = function() {
heading.style.color = "red";
}
// getComputedStyle : 적용한 모든 CSS 스타일 값을 반환하는 메서드.
var originalTextColor = getComputedStyle(text).color;
text.onclick = function() {
text.style.color = (text.style.color === "blue") ? originalTextColor : "blue";
}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>글자색 바꾸기</title>
<style>
body { text-align:center; }
#heading { color:blue; }
#text {
color:gray;
font-size:15px;
}
</style>
</head>
<body>
<h1 id="heading">자바스크립트</h1>
<p id="text">위 텍스트를 클릭해 보세요</p>
<script>
var heading = document.querySelector('#heading');
heading.onclick = function() {
heading.style.color = "red";
}
// getComputedStyle : 적용한 모든 CSS 스타일 값을 반환하는 메서드.
var originalTextColor = getComputedStyle(text).color;
text.onclick = function() {
text.style.color = (text.style.color === "blue") ? originalTextColor : "blue";
}
</script>
</body>
</html>
1. 웹 브라우저는 <!DOCTYPE html>를 보고 해당 문서가 웹 문서라는 것을 알게됨.<html>...</html>태그 사이의 내용을 HTML 표준에 맞춰 읽기 시작함.<html lang="ko"> : HTML 분석기.2. 웹 문서에서 HTML 태그의 순서와 포함 관계를 확인 및 분석함.3. <style>...</style>태그 사이에 있는 내용을 분석함.<style>...</style> : CSS 분석기.4. <script>태그를 만나게 되면 웹 브라우저 안에 포함된 자바스크립트 해석기에게 스크립트 소스를 넘김.<script>...</script>사이의 소스를 해석함.5. 2에서 분석한 HTML과 3에서 분석한 CSS 정보에 따라 웹 브라우저 화면에 표시함.6. 분석해 놓은 자바스크립트를 실행해서 그 결과를 화면에 표시함.식(expression)과 문(statement)임.식은 표현식이라고도 하는데 연산식 뿐만 아니라 실제 값도 함수를 실행하는 것도 식이됨.num * 3.14 // 연산식도 식.
"감사합니다"; // 문자열도 식.
1 // 숫자도 식.
문은 명령이라고 생각할 수 있음.문의 끝에는 세미콜론(;)을 붙여서 구분함.문은 값이나 식까지 포함함.알림창(alert)은 가장 많이 사용하는 간단한 대화 상자임.대화 상자(dialogue box)라고 함.alert(메시지);
따옴표("" or '')와 함께 메시지를 넣으면 됨
확인 창(confirm)은 사용자가 확인 or 취소 버튼 중에서 하나를 직업 클릭할 수 있음.확인 : true취소 : falseconfirm(메시지);

프롬프트 창(prompt)은 텍스트 필드가 있는 작은 창임.prompt(메시지);
prompt(메시지, 기본값);
var num = prompt("숫자 입력.");
취소버튼을 누르면 변수에는 null이 저장됨.| 기본값 X | 기본값 O |
|---|---|
![]() | ![]() |
But 단순히 브라우저 화면에서 결괏값을 확인하는 용도로는 document.write()를 많이 사용함.웹 문서(document)에서 괄호 안의 내용을 표시(write)하는 명령문.document.write(메시지);
따옴표("" or '')사이에 입력한 내용은 웹 브라우저 화면에 그대로 표시됨.<script>
document.write("<h1>웹 브라우저에 출력</h1>");
</script>
console.log();
console.log()문은 괄호 안의 내용을 콘솔 창에 표시함._), 숫자를 사용.var뒤에 변수명을 적으면 됨.ES6이후에는 변수 선언할 때 let, const 사용할 수 있음.var 변수명;
var 변수명1, 변수명2, 변수명3, ...;
=기호를 사용해서 변수에 값을 저장(할당)할 수 있음.기본 유형.
| 종류 | 설명 | 예시 |
|---|---|---|
| 숫자형 | 따옴표 없이 숫자로만 표기. | var num = 3; |
| 문자열 | 따옴표(" " or ' ')로 묶어서 나타냄. | var str1 = "abc"; var str2 = "123"; |
| 논리형 | 참(true)과 거짓(false)이라는 2가지 값만 있는 유형. | var bool = true; |
복합 유형
| 종류 | 설명 | 예시 |
|---|---|---|
| 배열 | 하나의 변수에 여러 개의 값을 저장함. | var seasons = ['봄', '여름', '가을', '겨울']; |
| 객체 | 함수와 속성을 함께 포함함. | var date = new Date(); |
특수 유형
| 종류 | 설명 |
|---|---|
| undefined | 자료형이 지정되지 않았을 때의 상태. (Ex. 변수 선언만 하고 값을 할당하지 않은 변수는 undefined 상태임. |
| null | 값이 유효하지 않을 때의 상태. |

'')나 큰따옴표("")로 묶은 데이터를 의미함.document.write("<span style='color:blue'>", "abc", "</span>"),로 구분해서 [] 대괄호로 묶으면 배열을 선언할 수 있음.배열명["값1", "값2", "값3", ...]
var season = ["봄", "여름", "가을", "겨울"];
배열명[] // 빈 배열.

수학 계산을 할때 사용하는 연산자.
++(증가), --(감소) 연산자.
var a = 10;
var b = a++ + 5;
// a = 11, b = 15
var c = 10;
var d = ++c + 5;
// c = 11, d = 16
+ 기호를 사용.헷갈리기 쉬운 거
| 종류 | 의미 | 예시 | 결괏값 |
|---|---|---|---|
| == | - 피연산자가 서로 같으면 true. | 3 == "3" | true |
| === | - 피연산자도 같고 자료형도 같으면 true. | a === "3" | false |
| != | - 피연산자가 서로 같지 않으면 true. | 3 != "3" | false |
| !== | - 피연산자가 같지 않거나 자료형이 같지 않으면 true. | 3 !== "3" | true |
==, !=연산자는 피연산자의 자료형을 자동으로 변환해서 비교함.3 == "3" // true
3 != "3" // false===, !==연산자는 피연산자의 자료형을 변환하지 않음.3 === "3" // false
3 !== "3" // true===, !==연산자를 더 많이 사용함.OR : ||
AND : &&
NOT : !
if (조건) {
// 조건 결과가 true일 때 실행할 명령.
}
if (조건) {
// 조건 결과가 true일 때 실행할 명령.
} else {
// 조건 결과가 false일 때 실행할 명령.
}
(조건) ? (true일 때 실행할 명령) : (false일 때 실행할 명령);
switch (조건) {
case 값1 : 명령1
break;
case 값2 : 명령2
break;
case 값3 : 명령3
break;
....
default: 명령n; // default는 break; 가 필요없음.
}
for (초깃값; 조건; 증가식) {
// 실행할 명령.
}
while (조건) {
// 실행할 명령.
}
do {
// 실행할 명령.
} while (조건)