document.write();
를 쓴다.: 웹브라우저 내에서 일어나는 사건
<input type="button" value="hi" onclick="alert('hi')">
<input type="text" onchange="alert('changed')">
alert('Hello, World!'.length)
var x=1
=
document.querySelector("body")
documnet.querySelector("body").style.backgroundColor = 'black';
<input type="button" value="night" onclick=
"documnet.querySelector('body').style.backgroundColor = 'black';">
night 버튼을 클릭하면 body
태그를 선택하여 스타일 속성 중 backgroundColor을 black으로 변경하도록 한다.
HTML: 프로그래밍 언어가 아님
HTML로 만든 웹페이지는 시간의 순서에 따라 실행되지 않고, 한 번 만들어지면 바뀌지 않기 때문
Javascript: 프로그래밍 언어가 맞음
사용자와 상호작용하고, 이를 위해서 시간에 따라 여러 기능이 실행되기 때문
: 프로그램에서 조건에 따라 다른 기능들이 다른 순서에 따라서 실행되도록 만들어주는 것
if(document.querySelector('#night_day').value === 'night') {
document.querySelector('body').style.backgroundColor = 'black';
document.querySelector('body').style.color = 'white';
document.querySelector('#night_day').value = 'day';
}
else {
document.querySelector('body').style.backgroundColor = 'white';
document.querySelector('body').style.color = 'black';
document.querySelector('#night_day').value = 'night';
}
===
: 이항 연산자로 좌우가 같으면 True, 다르면 False<
,>
: 이항 연산자로 좌우의 값을 비교하여 식이 옳으면 True, 옳지 않으면 False<
와 &rt;
를 쓴다.: 비효율적인 코드를 효율적으로 만들어서 가독성을 높이고 유지보수가 쉽도록 만드는 것, 코드의 기능적인 측면에는 변화가 없어야 한다.
this
: 자기 자신을 가리키기 위한 키워드var target = document.querySelector('body');
if(this.value === 'night') {
target.style.backgroundColor = 'black';
target.style.color = 'white';
this.value = 'day';
}
else {
target.style.backgroundColor = 'white';
target.style.color = 'black';
this.value = 'night';
}
var fruits = ["apple", "banana"];
document.write(fruits[0]); // 배열의 값에 접근
document.write(fruits.length); // 배열의 길이 출력, 이 경우에는 2
fruits.push("coconut"); // 배열의 맨 뒤에 값 추가
fruits.splice("잘라낼 시작 위치", "제거할 원소 개수(생략가능)", "치환할 내용(생략가능)");
var i = 0;
while (i < fruits.length) {
document.write('<li>'+fruits[i]+'</li>');
i = i + 1;
}
querySelectorAll이 찾은 모든 a 태그를 배열 형태로 alist에 저장
var alist = document.querySelectorAll('a');
문서 안의 모든 a 태그의 색깔을 powderblue로 변경
var i = 0;
while (i < alist.length) {
alist[i].style.color = 'powderblue';
i = i + 1;
}
+) console.log();
를 콘솔 창에서 쓰면 괄호 안이 가리키는 값이 콘솔 창에 출력된다.
document.write('2');
document.write('3');
document.write('4');
document.write('2');
document.write('3'); // 이와 같은 코드를
function two() {
document.write('2');
document.write('3');
} // 함수를 선언하여
document.write('1');
two();
document.write('4');
two(); // 더욱 간결하게 나타낼 수 있다.
객체이름.func = function() {} // 객체의 메소드로 추가
var func = function() {}
function func = {}
: 함수의 입력에 해당
function sum(left, right) {
document.write(left + right);
} // left, right는 매개변수
sum(2,3); // 2, 3은 인자
: 함수의 출력에 해당
function sum(left, right) {
return left + right;
} // 위의 함수가 값을 직접 출력하는 것이 아니라 값을 반환하도록 함
document.querySelector('body');
{}
를 사용한다.var coworkers= {
"programmer": "egoing",
"designer": "leezche"
};
coworkers.bookkeeper = "duru";
coworkers["bookkeeper"] = "duru";
// 객체 coworkers에 bookkeeper이라는 이름으로 duru라는 값을 넣는다.
// 이름에 공백이 포함된다면 두 번째 코드를 사용해야 한다.
document.write(coworkers.programmer)
document.write(coworkers["programmer"])
// coworkers 객체 안에서 programmer이라는 이름을 가진 값을 가져와 출력
// 두 줄 모두 같은 결과 출력
: 객체의 모든 요소에 접근하기
객체이름["key"]
라고 쓰면 key라는 이름을 가진 값을 가리킨다.for(var key in coworkers) {
document.write(key+'<br>');
} // coworkers에 있는 "이름"들을 하나씩 가져와 차례대로 key에 넣어 출력
for(var key in coworkers) {
document.write(coworkers[key]+'<br>');
} // coworkers에 있는 이름들에 해당하는 "값"을 하나씩 출력
<script src='colors.js'></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
// 구글 CDN, 이 한 줄을 head 태그에 추가하면 됨