자바스크립트에서 기본적으로 제공하는 함수
var timeoutId = setTimeout(function () {
alert("3초 후 팝업창 출력");
}, 3000);
var intervalId = setInterval(function () {
console.log("2초마다 콘솔에 출력");
}, 2000);
var printTimeoutId = setTimeout(function () {
clearInterval(pritnIntervalId);
console.log("종료")
}, 7000);
var pritnIntervalId = setInterval(function () {
console.log('*');
}, 2000);
var varEval = "console.log('eval function')";
eval(varEval);
var varEval = "document.write('<p>eval 함수</p>')";
eval(varEval);
var objData = {
num: 123,
str: "abc",
boo: true,
fun: function () { },
obj: {},
arr: [1, 2, 3],
ude: undefined
};
console.log(typeof objData); // object
console.log("objData > num : " + objData.num);
console.log("objData > str : " + objData.str);
console.log("objData > boo : " + objData.boo);
console.log("objData > fun : " + objData.fun);
console.log("objData > obj : " + objData.obj);
console.log("objData > arr : " + objData.arr);
console.log("objData > ude : " + objData.ude);
// 객체는 익명함수로 만든다.
var objCar = {
width: "3m",
height: "2m",
cc: "2000cc",
energy: 100,
speed: function (power) {
return this.energy * power;
}
};
console.log("objCar.speed : " + objCar.speed(2)); // 2 * 100
console.log("objCar.width : " + objCar.width); // 3m
var grade = {
kor: 0,
math: 0,
eng: 0,
sum: function () {
return ((this.kor) + (this.eng) + (this.math));
},
avg: function () {
return ((this.kor) + (this.eng) + (this.math)) / 3;
},
getGrade: function () {
if (this.avg() >= 90) { return "수"; }
else if (this.avg() >= 80) { return "우"; }
else if (this.avg() >= 70) { return "미"; }
else if (this.avg() >= 60) { return "양"; }
else { return "가"; }
}
}
grade.kor = Number(prompt("국어 점수", "입력"));
document.write("<h1> 국어 점수 : " + grade.kor + "<h1>");
grade.eng = Number(prompt("영어 점수", "입력"));
document.write("<h1> 영어 점수 : " + grade.eng + "<h1>");
grade.math = Number(prompt("수학 점수", "입력"));
document.write("<h1> 수학 점수 : " + grade.math + "<h1>");
document.write("<h1> 총점 : " + grade.sum() + "<h1>");
document.write("<h1> 평균 : " + grade.avg() + "<h1>");
document.write("<h1> 학점 : " + grade.getGrade() + "<h1>")
setInterval(function () {
date = new Date();
document.write("<h1>" + date.getHours() + " : " + date.getMinutes() + " : " + date.getSeconds() + "</h1>");
}, 1000);
<script>
var objName = {
name: "Lee sun sin",
nation: "Korea",
gender: "men",
character: "good"
};
// 1. 속성 출력
var print = "";
for (var key in objName) {
print += key + " : " + objName[key] + "\n"
}
console.log(print);
// 2. 속성 추가
objName.talent = "fencing";
print = "";
for (var key in objName) {
print += key + " : " + objName[key] + "\n"
}
console.log(print);
// 3. 속성 삭제
delete (objName.talent);
print = "";
for (var key in objName) {
print += key + " : " + objName[key] + "\n"
}
console.log(print);
</script>
console.log("nation" in objName); // true
console.log("age" in objName); // false
with (objName) {
console.log("name : " + name);
console.log("nation : " + nation);
console.log("gender : " + gender);
console.log("character : " + character);
}
function Stock(name, price) {
this.company = name;
this.cost = price;
}
var samsung = new Stock("삼성전자", 45000);
console.log(samsung.company);
console.log(samsung.cost);
function Stock(name, price) {
this.company = name;
this.cost = price;
this.showPrice = function () {
console.log(this.cost);
}
}
var samsung = new Stock("삼성전자", 45000);
console.log(samsung.company);
console.log(samsung.cost);
var apple = new Stock("애플", 150000);
console.log(apple.company);
console.log(apple.cost);
var lg = new Stock("엘지전자", 75000);
console.log(lg.company);
console.log(lg.cost);
function Grade(kor, eng, math) {
this.kor = kor;
this.eng = eng;
this.math = math;
this.showSum = function () {
return (this.kor + this.eng + this.math);
}
this.showAvg = function () {
return (this.kor + this.eng + this.math) / 3;
}
this.showGrade = function () {
if (this.showAvg() >= 90) {
return ("수 입니다");
} else if (this.showAvg() >= 80) {
returng("우 입니다");
} else if (this.showAvg() >= 70) {
return ("미 입니다");
} else if (this.showAvg() >= 60) {
return ("양 입니다");
} else {
return ("가 입니다");
}
}
}
var kor = Number(prompt("국어 점수", "입력"));
var eng = Number(prompt("영어 점수", "입력"));
var math = Number(prompt("수학 점수", "입력"));
console.log(kor + ", " + eng + ", " + math);
var student = new Grade(kor, eng, math);
console.log("총점 : " + student.showSum());
console.log("평균 : " + student.showAvg());
console.log("학점 : " + student.showGrade());
<script>
window.open(
"http://www.google.com", "openwindow", "width=800, height=800"
);
</script>
var newWindow = window.open("http://www.google.com", "google", "width=500, height=600");
//위치 조정
newWindow.moveTo(50, 50);
for (var i = 0; i < 1000; i++) {
newWindow.moveBy(1, 1);
}
//사이즈 조정
newWindow.resizeTo(500, 600);
for (var i = 0; i < 200; i++) {
newWindow.resizeBy(-1, -1);
}
<head>
<script>
window.onload = function () {
console.log("첫번째");
}
</script>
</head>
<body>
<script>
console.log("두번째");
</script>
<script>
console.log("세번째");
</script>
</body>
function openWin(url, width, height) {
console.log(screen.width + ", " + screen.height);
var left = screen.width / 2 - width / 2;
var top = screen.height / 2 - height / 2;
var opt = width + ", " + height + ", " + left + ", " + top;
open(url, "newWin", opt);
}
openWin("https://www.google.com", 800, 500);
<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>Document</title>
<script>
window.onload = function () {
location.href = "http://www.yahoo.com";
location.replace("https://www.daum.net");
};
</script>
</head>
<body>
location object
</body>
var elementNode = document.createElement("p"); // <p></p> 태그를 생성할 요소 노드
var textNode = document.createTextNode("javascript & node.js"); // 글이 담긴 노드
elementNode.appendChild(textNode); // 요소 안에 text 넣기 (<p>javascript & node.js</p>)
document.body.appendChild(elementNode); // body에 elementNode 넣기
body 밑에 쓰면 잘 보인다.
head 안에 쓰면 body가 할당되지 않은 상태이므로, Error가 표시된다.
window.onload에 넣고 쓰면 맨 마지막에 실행된다.
<head>
<script>
window.onload = function () {
var elementNode = document.createElement("p");
var textNode = document.createTextNode("javascript & node.js");
elementNode.appendChild(textNode);
document.body.appendChild(elementNode);
}
</script>
</head>
window.onload = function () {
var imgNode = document.createElement("img");
imgNode.src = "./logo.png";
imgNode.width = "170";
imgNode.height = "67";
document.body.appendChild(imgNode);
}
var imgNode = document.createElement("img");
imgNode.setAttribute("src", "./logo.png");
imgNode.setAttribute("width", 170);
imgNode.setAttribute("height", 67);
document.body.appendChild(imgNode);
document.body.innerHTML = "<h1>Javascript</h1>";
window.onload = function () {
var str = "";
str += "<p> javascript & node.js </p>";
str += " <img src='./logo.png', ";
str += " width='170', height='67', tempData='logoImg'> ";
document.body.innerHTML = str;
};
<head>
<title>Javascript</title>
<script>
window.onload = function () {
var name = document.getElementById("name");
console.log(name); // <p id="name">홍길동</p>
name.innerText = "Hello"; // <p id="name">Hello</p>
}
</script>
</head>
<body>
<p id="name">홍길동</p>
</body>
window.onload = function () {
var str = "";
str += "<p id='jsTitle'> javascript & node.js </p>";
str += "<img id='logoImg', src='./logo.png',";
str += "width='170', height='67'>";
document.body.innerHTML = str;
var titleNode = document.getElementById("jsTitle");
titleNode.innerHTML = "JS & NODE";
var logoNode = document.getElementById("logoImg");
logoNode.setAttribute("src", "./arm_mbed.png");
logoNode.setAttribute("width", 297);
logoNode.setAttribute("height", 124);
};
<script>
window.onload = function () {
var str = "";
str += "<img id='logoImg', src='./logo.png',";
str += "width='170', height='67'>";
document.body.innerHTML = str;
var logoNode = document.getElementById("logoImg");
setTimeout(function () {
logoNode.setAttribute("src", "./arm_mbed.png");
logoNode.setAttribute("width", 297);
logoNode.setAttribute("height", 124);
}, 10000);
};
</script>