반응형
▶ 비교 연산자 === (이항 연산자)
-> 좌항과 우항을 결합해서 그 관계에 따라 하나의 결과, 즉 True인지 False인지를 만들어냄
▶ 비교 연산자 <, >
<
>
- HTML에서는 이 꺽쇠 기호(<,>)가 태그를 나타낼 때 쓰이기 때문에 혼란을 줄 수 있기 때문
- <가 <를 의미하는 것이고, >가 >를 의미함
▶ 조건문
<script>
document.write('1')
if(true) {
document.write('2')
}
else {
document.write('3')
}
</script>
->12 출력
▶ 조건문을 활용한 토글 만들기
if(document.querySelector('#night_day').value === 'night') {
document.querySelector('body').style.backgroundColor = 'black';
document.querySelector('body').style.color = 'white';
}
else {
document.querySelector('body').style.backgroundColor = 'white';
document.querySelector('body').style.color = 'black';
}
하지만 이 코드에는 결정적인 문제가 있다! 바로 버튼이 눌릴 때마다 value가 바뀌지 않는 것
그렇기 때문에 항상 원래 설정된 value인 night에 해당하는 코드, 즉 첫 번째 중괄호에 있는 코드만 실행됨
이를 해결하기 위해서는 코드가 실행될 때마다 value를 바꿔주는 코드도 추가해줌!
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';
}
▶ 리팩토링
리팩토링이란 비효율적인 코드를 효율적으로 만들어서 가독성을 높이고 유지보수가 쉽도록 만드는 것
1. 자기 자신을 가리키기 위한 'this' 사용
if(this.value === 'night') {
document.querySelector('body').style.backgroundColor = 'black';
document.querySelector('body').style.color = 'white';
this.value = 'day';
}
else {
document.querySelector('body').style.backgroundColor = 'white';
document.querySelector('body').style.color = 'black';
this.value = 'night';
}
2. 중복제거 -> 변수선언
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 links = document.querySelectorAll('a');
var i = 0;
while (i<links.length) {
links[i].style.color = 'powerblue';
i=i+1;
}
▶ 배열
var fruits = ["apple", "banana"];
document.write(fruits[0]);
document.write(fruits.length);
fruits.push("coconut");
pop = 배열의 마지막 요소 삭제
shift = 배열의 첫번째 요소 삭제
splice a, b = 인덱스 a부터 b개 삭제
▶ 반복문
document.write('<li>1</li>');
var i = 0;
while (i < 3) {
document.write('<li>2</li>');
document.write('<li>3</li>');
i = i + 1;
}
document.write('<li>4</li>');
▶ 배열과 반복문
var i = 0;
while (i < fruits.length) {
document.write('<li>'+fruits[i]+'</li>');
i = i + 1;
}
document.write('li<a href="http://a.com/'+coworkers[i]+'">'+coworkers[i]+'<a/></li>');
->각 배열의 인덱스 항목마다 링크 생김
▶ 반복문과 배열의 활용
var i = 0;
while (i < alist.length) {
alist[i].style.color = 'powderblue';
i = i + 1;
}
반응형
'온라인 강의 > Javascript(생활코딩)' 카테고리의 다른 글
Javascript 문법 (0) | 2022.08.03 |
---|---|
Javascript 활용(생활코딩) (0) | 2022.08.01 |
Javascript 객체(생활코딩) (0) | 2022.08.01 |
Javascript 함수(생활코딩) (0) | 2022.07.31 |
웹과 자바스크립트(생활코딩) (0) | 2022.07.29 |