자료(data), 1, 2, A, b, 한글, 영문소문자나 대문자로 존재한다.
a = 100; 정수형 데이터 100을 변수 a에 저장합니다.
주소값 = pointer(C언어) = address value => RAM, ROM
정수형(4byte), 실수형(8byte), 문자(1character), 문자열(String)...
산술, 관계, 논리연산 순으로 실행 된다.
자주 반복되는 기능(동작, 행동)을 구현하는 것이다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>마우스 올려 보세요</h3>
<hr>
<img src="../images/apple.png" alt="이미지"
onmouseover="this.src='../images/banana.png'"
onmouseout="this.src='../images/apple.png'">
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<script>
function over(obj) {
obj.src = "../images/banana.png";
}
function out(obj) {
obj.src = "../images/apple.png"
}
</script>
<meta charset="UTF-8">
</head>
<body>
<h3>마우스 올려 보세요</h3>
<hr>
<img src="../images/apple.png" alt="이미지"
onmouseover="over(this)"
onmouseout="out(this)">
</body>
</html>
자바스크립트 프로그램의 변수, 상수(리터럴), 함수의 이름
식별자 만드는 규칙
변수 타입 선언하지 않음
변수에 저장되는 값에 대한 제약 없음
this.전역변수
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h3>지역변수와 전역변수</h3>
<hr>
<script>
var x = 100; // 전역변수
function f() {
var x = 1; // 지역변수
document.write("지역변수 x=" + x);
document.write("<br>");
document.write("전역변수 x=" + this.x); // this는 전역변수를 가르킴
}
f()
</script>
</body>
</html>
데이터 값 그 자체
10진수 156
2진수로 변환
- 10011100
128 |64 | 32 | 16 | 8 | 4 | 2 | 1
1 | 0 | 0 | 1 | 1 | 1 | 0 | 0
8진수로 변환(3bit)
- 234
16진수로 변환
- 9c
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<script>
var n = 156;
var m = 0234;
var k = 0x9C;
let exp = 1234E+04;
let exp2 = 1234E-04;
document.write("10진수는 = " + n + "<br>");
document.write("8진수는 = " + m + "<br>");
document.write("16진수는 = " + k + "<br>" + "<hr>");
document.write("지수형 + " + exp + "<br>");
document.write("지수형 + " + exp2 + "<br>");
</script>
<body>
</body>
</html>
5가지 : +, -, *, /, %(나머지)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var x = 32; // total은 113
var total = x / 10; // div는 3.2
var mod = x % 2; // x를 2로 나눈 나머지, 0
document.write("x : " + x + "<br><br>");
document.write("100 + x*2/4 - 3 = " + total + "<br>");
document.write("x/10 = " + div + "<br>");
document.write("x%2 = " + mod + "<br>");
</script>
</body>
</html>
++, --
오른쪽 식의 결과를 왼쪽 변수에 대입
두 값을 비교하여 true나 false의 결과를 내는 연산
&&(AND), ||(OR), !(NOT)
condition ? expT : expF
시프트 : 저장 공간에서 비트들의 오른쪽 / 왼쪽으로 이동
var s = "This is a test.";
document.write("Big: " + s.big() + "<br>");
document.write("Small: " + s.small() + "<br>");
document.write("Bold: " + s.bold() + "<br>");
document.write("Italic: " + s.italics() + "<br>");
document.write("Fixed: " + s.fixed() + "<br>");
document.write("Strike: " + s.strike() + "<br>");
document.write("Fontcolor: " + s.fontcolor("green") + "<br>");
document.write("Fontsize: " + s.fontsize(6) + "<br>");
document.write("Subscript: " + s.sub() + "<br>");
document.write("Superscript: " + s.sup() + "<br>");
document.write("Link: " + s.link("http://www.google.com") + "<br>");
조건이 참이면 실행문을 실행하며 앞의 실행문이 거짓일 경우 참인 실행문이 나올때까지 진행
<html>
<head></head>
<body>
<h3>과일 판매하기</h3>
<hr />
<script>
var fruits = prompt("과일을 입력하세요.", "사과");
var input = prompt("물건을 몇개 살 것인지 입력하세요.", 100);
var count = parseInt(input);
switch (fruits) {
case "바나나":
price = 200;
price *= count;
document.writeln(fruits + "는" + price + "입니다.");
break;
case "사과":
price = 300;
price *= count;
document.writeln(fruits + "는" + price + "입니다.");
break;
case "체리":
price = 300;
price *= count;
document.writeln(fruits + "는" + price + "입니다.");
break;
default:
document.write("팔지 않습니다.");
price = 0;
}
</script>
</body>
</html>
값에 따라 서로 다른 코드를 실행할 때 적합
case의 값은 상수(리터럴)만 가능
case의 값으로 변수나 식은 사용 불가
switch문은 break를 만날때까지 아래로 코드는 계속 실행
<html>
<head> </head>
<body>
<script>
var price = 0;
var coffee = prompt("무슨 커피 드릴까요?", " ");
switch (coffee) {
case "espresso": // espresso나 에스프레소 의 경우 모두 실행
case "에스프레소":
price = 2000;
break;
case "카푸치노":
price = 3000;
break;
case "카페라떼":
price = 3500;
break;
default:
document.write(coffee + "는 없습니다.");
}
if (price != 0) document.write(coffee + "는" + price + "원입니다.");
</script>
</body>
</html>
<html>
<head> </head>
<style>
body {
font-size: 2em;
text-align: center;
color: skyblue;
}
</style>
<body>
<h3>경고창 띄우기</h3>
<hr />
<script>
var input = prompt("경고창을 몇개 띄울것인지 정하시오", 100);
var count = parseInt(input);
for (var i = 1; i <= count; i++) {
document.write(i + "경고창<br>");
alert(i + "번째 경고창");
}
</script>
</body>
</html>
<html>
<head> </head>
<style></style>
<body>
<script>
var n = prompt("0보다 큰 정수를 입력하세요", 0);
n = parseInt(n);
var i = 1;
do {
alert("ALRAM ");
document.write("ALRAM ");
i++;
} while (i <= n);
</script>
</body>
</html>
가장 안쪽 반복문 하나만 벗어나도록 제어
반복 코드 실행 중단, 다음 반복으로 점프
<html>
<head></head>
<style></style>
<body align="center">
<script>
var sum = 0;
for(i = 1; i <= 100; i++) {
if(i % 3 ==0)
continue; // 다음 반복으로 점프(i++ 코드로)
document.write(i + " ");
sum += i;
}
document.write("합은 " + sum);
</script>
</body>
</html>
var su1 = 0, su2 = 0, addsum;
function adder(su1, su2) {
var sum = 0;
sum = su1 + su2;
return sum;
}
var n = prompt("0보다 큰 정수를 입력하세요", 0);
su1 = parseInt(n); // 문자열 n을 숫자로 바꿈
var m = prompt("0보다 큰 정수를 입력하세요", 0);
su2 = parseInt(m); // 문자열 n을 숫자로 바꿈
addsum = adder(su1, su2);
document.write("합은 " + addsum);
var su1 = 0, su2 = 0, addsum;
function adder(su1, su2) {
var sum = 0;
sum = su1 + su2;
return sum;
}
var su1 = 0, su2 = 0;
function adder(su1, su2) {
var sum = 0;
sum = su1 + su2;
document.write("합은 " + sum);
}
var n = prompt("0보다 큰 정수를 입력하세요", 0);
su1 = parseInt(n); // 문자열 n을 숫자로 바꿈
var m = prompt("0보다 큰 정수를 입력하세요", 0);
su2 = parseInt(m); // 문자열 m을 숫자로 바꿈
adder(su1, su2);
var su1 = 0, su2 = 0, addsome = 0;
function adder(su1, su2) {
var n = prompt("0보다 큰 정수를 입력하세요", 0);
su1 = parseInt(n); // 문자열 n을 숫자로 바꿈
var m = prompt("0보다 큰 정수를 입력하세요", 0);
su2 = parseInt(m); // 문자열 m을 숫자로 바꿈
document.write("합은 " + (su1 + su2));
}
adder(su1, su2);
<html>
<head></head>
<style></style>
<body>
<script>
var su1 = 0,
su2 = 0,
addsum;
function adder(su1, su2) {
var sum = 0;
sum = su1 + su2;
return sum;
}
var n = prompt("0보다 큰 정수를 입력하세요", 0);
su1 = parseInt(n); // 문자열 n을 숫자로 바꿈
var m = prompt("0보다 큰 정수를 입력하세요", 0);
su2 = parseInt(m); // 문자열 n을 숫자로 바꿈
addsum = adder(su1, su2);
document.write("합은 " + addsum);
</script>
</body>
</html>
대표적인 자바스크립트의 전역 함수
eval()
,parseInt
, isNaN()
<html>
<head>
<script>
function start(n) {
var m = parseInt(n);
if (isNaN(m)) {
alert("잘못입력하셨습니다.");
return;
}
for (var i = 1; i <= n; i++) {
for (var j = 0; j < i; j++) {
document.write("*");
}
document.write("<br>");
}
}
</script>
</head>
<style></style>
<body>
<script>
var n = prompt("별의 갯수를 입력하세요.", " ");
start(n);
</script>
</body>
</html>
<html>
<head></head>
<style></style>
<body align="center">
<script type="text/javascript">
var num = 2;
var time = setInterval(function () {
document.write("<h1>" + num + "초가 지났습니다." + "</h1>");
num += 2;
}, 2000);
setTimeout(function () {
clearInterval(time);
}, 10500);
</script>
</body>
</html>