[๋ถ์คํธ์ฝ์ค]์๋ฐ์คํฌ๋ฆฝํธ์ ์์(๋ฐฐ์ด๊ณผ ๋ฐ๋ณต๋ฌธ, ํ์ฉ)
์๋ ํ์ธ์ ๋ถ์คํฐ์ฝ์ค 3๊ธฐ ์ํฌํฐ์ฆ ํ๋ธ์ ๋๋ค. ๐ฟ
๋ถ์คํฐ์ฝ์ค๋?
์ปค๋ฅํธ์ฌ๋จ์ ๋ค์ด๋ฒ๊ฐ ์ค๋ฆฝํ ๋น์๋ฆฌ ๊ต์ก ์ฌ๋จ์
๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์ ์์ฑ ๊ต์ก ํ๋ก๊ทธ๋จ, ๋ถ์คํธ์ฝ์ค์ ํจ๊ป
๋น์ ์ ๊ฐ๋ฐ ์ปค๋ฆฌ์ด๋ฅผ ์
๊ทธ๋ ์ด๋ํ์ธ์!
์ ํฌ์คํ ์ ๊ฐ์ ๋ด ์๊ฐํด๋ณด๊ธฐ์ ์์ ์์ ๋ค๋ฃจ๋ ์ฝ๋๋ฅผ ์ง์ ํฌ๋กฌํ๋ฉด์์ ํ์ธ ํด๋ณผ ์ ์๋๋ก ์งํํฉ๋๋ค. ๊ด๋ จ๋ ๊ฐ๋ ๊ณผ ๊ฐ์๋ ํจ๊ป ์ฌ๋ ค๋๋ฆฌ๋ ๋งํฌ์์ ํ์ธํด๋ณด์ค ์ ์์ต๋๋ค.
www.boostcourse.org/cs124/joinLectures/52258
๋ฐฐ์ด๊ณผ ๋ฐ๋ณต๋ฌธ
www.boostcourse.org/cs124/lecture/194615
์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง ๋ฐฐ์ด๊ณผ while ๋ฐ๋ณต๋ฌธ์ ๋ํด์ ์ดํด๋ณด์์ต๋๋ค. ์ด๋ฒ์๋ ์ด ๋ ๊ฐ์ง๋ฅผ ๊ฒฐํฉ์์ผ ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์๋ฅผ ๋ค์ด์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์ด ์๋ค๊ณ ํด ๋ด ์๋ค.
fruits = ["apple", "banana", "coconut"];
์ง๊ธ๋ถํฐ ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ ์๋ ๊ฐ๋ค์ ํ๋์ฉ ๊บผ๋ด์ HTML ๋ฆฌ์คํธ๋ก ๋ํ๋ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด์ ๋ง์ด์ฃ .
์ฌ๊ธฐ์ ์๋ ๋ชจ๋ ์์๋ค์ writeํ๊ธฐ ์ํด์๋ 3๋ฒ์ ๋ฐ๋ณต์ด ํ์ํ ๊ฒ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก 3๋ฒ ๋ฐ๋ณตํ ์ ์๋ while๋ฌธ์ ์ฌ์ฉํด๋ด ์๋ค.
var i = 0;
while (i < 3) {
document.write('<li></li>');
i = i + 1;
}
๊ทธ๋ผ ์ด์ li ํ๊ทธ ์ฌ์ด์ ๊ฐ๊ฐ์ ์์๋ฅผ ๋ฃ์ด๋ด ์๋ค. ์ด ๋ ์ด i๋ผ๋ ๋ณ์๊ฐ 0๋ถํฐ 2๊น์ง ๋ฐ๋๊ธฐ ๋๋ฌธ์, i๋ฅผ ์ ํ์ฉํ๋ฉด ๋ฐฐ์ด์์ ์์๋ฅผ ์์๋๋ก ํ๋์ฉ ๊บผ๋ผ ์ ์์ ๊ฒ๋๋ค. ๋ฐ๋ก ์ด๋ ๊ฒ ๋ง์ด์ฃ .
var i = 0;
while (i < 3) {
document.write('<li>'+fruits[i]+'</li>');
i = i + 1;
}
ํ์ง๋ง ์ฌ๊ธฐ์์ ์ฐ๋ฆฌ๊ฐ fruits๋ผ๋ ๋ฐฐ์ด ์์ "durian"์ด๋ผ๋ ์์๋ฅผ ํ๋ ๋ ์ถ๊ฐํ๋ค๊ณ ํด ๋ด ์๋ค. ๊ทธ๋ฌ๋ฉด ์ด ๋ฐ๋ณต๋ฌธ์ 4๋ฒ ์คํ๋์ด์ผ ๋๊น์ง ์ถ๋ ฅํ ์ ์๊ฒ ์ฃ . ํ์ง๋ง ์ง๊ธ์ 3์ผ๋ก ์ค์ ๋์ด์๊ธฐ ๋๋ฌธ์ durian์ด ์ถ๋ ฅ๋์ง ์์ ๊ฒ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น์?
3 ๋์ fruits๋ผ๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด fruits๋ผ๋ ๋ฐฐ์ด์ ์์๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ์ญ์ ๋์ด๋ ์๋์ผ๋ก ๋ฐ๋ณต ํ์๊ฐ ์กฐ์ ๋ ๊ฒ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๊ฒ ์ฃ .
var i = 0;
while (i < fruits.length) {
document.write('<li>'+fruits[i]+'</li>');
i = i + 1;
}
์ ๋ฆฌํ์๋ฉด, ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉด ์์๋๋ก ์ฐ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๊ณ , ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ฉด ์์๋๋ก ์ด ๋ฐฐ์ด์ ์์๋ฅผ ํ๋์ฉ ๊บผ๋ด์ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด ๋์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์์ฃผ ์ข๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
์๊ฐํด๋ณด๊ธฐ
๋ฐ๋ณต๋ฌธ๊ณผ ๋ฐฐ์ด์ ์ ์ ํ ํ์ฉํด์ fruits ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ์ซ์์ ํจ๊ป ์ถ๋ ฅํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ์ง ์๊ฐํด๋ณด์ธ์.
1. apple 2. banana 3. coconut
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h3>for loop</h3>
<script>
var fruits = ['apple', 'banana', 'coconut'];
for (var i = 0; i < fruits.length; i++) {
document.write(i + 1 + '. ' + fruits[i] + '<br>');
}
</script>
<h3>while loop</h3>
<ol>
<script>
var i = 0;
while (i < fruits.length) {
document.write('<li>' + fruits[i] + '</li>');
i++;
}
</script>
</ol>
</body>
</html>
๋ฐฐ์ด๊ณผ ๋ฐ๋ณต๋ฌธ์ ํ์ฉ
https://www.boostcourse.org/cs124/lecture/194616/
๋ฐ๋ณต๋ฌธ๊ณผ ๋ฐฐ์ด์ ํ์ฉ
์ด๋ฒ ๊ฐ์์์๋ night/day ๋ชจ๋ ์์ ์์ ํ์ดํผ๋งํฌ ๋ถ๋ถ์ ์๊น์ด ๋ชจ๋์ ๋ฐ๋ผ์ ๋ฐ๋๋๋ก ๋ง๋ค์ด ๋ด ์๋ค. ์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ฐ๋ณต๋ฌธ๊ณผ ๋ฐฐ์ด์ ํ์ฉํด์ ๋ง์ด์ฃ .
๋จผ์ ์ด ํ์ด์ง์ ์๋ ๋ชจ๋ a ํ๊ทธ๋ฅผ ๊ฐ์ ธ์์ผ๊ฒ ์ฃ . ์๋ ์ฌ์ฉํ๋ querySelector๋ผ๋ ํจ์๋ ํ๋์ ํ๊ทธ๋ง ์๋ ค์ฃผ๊ธฐ ๋๋ฌธ์ ์๋ก์ด ํจ์๊ฐ ํ์ํฉ๋๋ค. ๋ฐ๋ก querySelectorAll์ด๋ผ๋ ํจ์์ฃ . ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
var alist = document.querySelectorAll('a');
์ด๋ ๊ฒ ํ๋ฉด querySelectorAll์ด ์ฐพ์ ๋ชจ๋ a ํ๊ทธ๋ฅผ ๋ฐฐ์ด ํํ๋ก alist์ ์ ์ฅํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด์ ์ด๋ ๊ฒ ๋ง๋ ๋ฐฐ์ด๊ณผ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ ๊ฐ๊ฐ์ ํ๊ทธ์ ์คํ์ผ์ ์ง์ ํด์ฃผ๋๋ก ํฉ์๋ค. while๋ฌธ์ ์ฌ์ฉํด์ ์คํ์ผ์ ๋ฐ๊ฟ์ฃผ๋ ค๊ณ ํ๋๋ฐ, ์ด ๋ ์ด ๋ฐ๋ณต๋ฌธ์ ๋ช ๋ฒ ์คํ๋์ด์ผ ํ ๊น์? alist์ ๊ธธ์ด๋งํผ ์คํ๋๋ฉด ๋ ๊ฒ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์จ ์ฃผ๋ฉด ๋๊ฒ ์ฃ .
var i = 0;
while (i < alist.length) {
}
์ด์ ์ด while๋ฌธ ์์ ๊ฐ๊ฐ์ ์คํ์ผ์ ์ง์ ํ๋ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ๋๋ก ํฉ์๋ค. ๋จผ์ alist์ i๋ฒ์งธ ์์๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๋๊ฒ ์ฃ . ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๊ฐ์ ธ์จ ํ๊ทธ์ ์คํ์ผ์ ์ง์ ํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ง์ง๋ง์ i์ 1์ ๋ํด์ฃผ๋ ๊ฒ๋ ์์ผ๋ฉด ์๋ฉ๋๋ค.
var i = 0;
while (i < alist.length) {
alist[i].style.color = 'powderblue';
i = i + 1;
}
์ด ์ฝ๋๋ฅผ ์คํํด๋ณด๋ฉด ๋ฌธ์ ์์ ๋ชจ๋ a ํ๊ทธ์ ์๊น์ด powderblue๋ก ๋ฐ๋๋ ๊ฒ์ ๋ณผ ์ ์์ ๊ฒ๋๋ค.
์ด๋ ๊ฒ ์์ฑํ ์ฝ๋๋ฅผ if๋ฌธ ์์ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ฌผ๋ก night ๋ชจ๋์์ day ๋ชจ๋๋ก ๋ฐ๋ ๋์๋ powderblue๋์ blue๋ฅผ ์จ์ฃผ์ด์ผ๊ฒ ์ฃ ?
์ ๋ pink๋ฅผ ํ์ฉํ์ฌ ํ๋ฒ ์ฝ๋๋ฅผ ๋ง๋ค์ด ๋ณด์์ต๋๋ค.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WEB1 - javaScript</title>
</head>
<body style="">
<a href="WEB.html" style="font-size: 30px;">WEB</a><br>
<input type="button" value="night" onclick="
var target = document.querySelector('body');
if(this.value === 'night'){
target.style.backgroundColor = 'black';
target.style.color = 'white';
this.value = 'day'
var alist = document.querySelectorAll('a')
var i = 0;
while(i<alist.length){
alist[i].style.color = 'pink';
i++;
}
}
else{
target.style.backgroundColor = 'white';
target.style.color = 'black';
this.value = 'night'
var alist = document.querySelectorAll('a')
var i = 0;
while(i<alist.length){
alist[i].style.color = 'blue';
i++;
}
}
">
<ol>
<li><a href="1.html">HTML</a></li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JAVASCRIPT</a></li>
</ol>
<h2>JavaScript</h2>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sapiente officia incidunt quas reprehenderit alias
eveniet necessitatibus eligendi harum obcaecati temporibus, odit, dolor nulla adipisci tempore illum suscipit
quod voluptatibus debitis quam atque nemo accusantium voluptatum voluptates voluptas. Laudantium labore,
praesentium architecto perspiciatis enim totam! Magni fugit corporis iste ratione dolorem temporibus. Magni
perferendis aspernatur mollitia! Eaque dolorem, exercitationem corrupti amet aliquid quis ab eligendi. Nam odio
maxime quae explicabo repellat velit error fuga dolores quo quia. Quidem beatae iusto dolore eos, consequatur
fuga magnam! Sed esse asperiores dolor et adipisci corrupti eveniet tempore deleniti rerum possimus natus,
reiciendis accusantium ut reprehenderit! Animi quaerat ratione, facere saepe iusto eos, obcaecati, provident
ius doloribus nam! Modi, hic! Est vel ipsam laborum placeat! Non nulla dolorum autem corrupti.
</p>
<input type="button" value="night" onclick="
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'
}
">
</body>
</html>
์๊ฐํด๋ณด๊ธฐ
์ด๋ฒ ๊ฐ์์์ ๋ฐฐ์ด ์ฝ๋๋ฅผ ์ฝ๊ฐ ์์ ํด์ ์ฒซ ๋ฒ์งธ ํ์ดํผ๋งํฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ธ ๊ฐ์ ํ์ดํผ๋งํฌ๋ง ์๊น์ด ๋ฐ๋๋๋ก ๋ง๋ค์ด๋ณด์ธ์.
๋ฐฐ์ด์ ์์์ 1๋ถํฐ ์์์ ํด์ฃผ๋ฉด ๋๋ค.
var i = 1;
while(i<alist.length){
alist[i].style.color = 'blue';
i++;
}
ํด์ฆ๋ ์์ฝ๊ฒ ์ฑ๊ณต~!