์๋ ํ์ธ์,
์ฌ๋ฌ๋ถ! ์ค๋์ JavaScript๋ฅผ ์ด์ฉํด ๋์ด์ ๋ ๋ฅผ ๊ณ์ฐํ๋ ๊ฐ๋จํ ํจ์๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
์ด ํจ์๋ ์ฌ์ฉ์์ ์๋ ์์ผ์ ์ ๋ ฅ๋ฐ์ ๊ทธ์ ํด๋นํ๋ ๋์ด์ ๋ ๋ฅผ ๊ณ์ฐํ๊ณ , ์ด๋ฅผ ์น ํ์ด์ง์ ํ์ํฉ๋๋ค.
๋จผ์ , HTML ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
'age'์ 'zodiac'๋ผ๋ id๋ฅผ ๊ฐ์ง ๋ ๊ฐ์ div ์์๊ฐ ์์ต๋๋ค. ์ด๊ณณ์ JavaScript๋ฅผ ํตํด ๊ณ์ฐ๋ ๋์ด์ ๋ ์ ๋ณด๊ฐ ํ์๋ฉ๋๋ค.
<body>
<div id="age"></div>
<div id="zodiac"></div>
...
</body>
๋ค์์ผ๋ก, JavaScript ์ฝ๋๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ , ์ฌ์ฉ์์ ์๋ ์์ผ์ 'birthDay' ๋ณ์์ ์ ์ฅํฉ๋๋ค.
let birthDay = "2001-02-21";
๋ง๋์ด ๊ณ์ฐํ๊ธฐ
๊ทธ๋ฆฌ๊ณ 'calculateAge'๋ผ๋ ํจ์๋ฅผ ๋ง๋ญ๋๋ค.
์ด ํจ์๋ ์๋ ์์ผ์ ์ ๋ ฅ๋ฐ์ ์ค๋ ๋ ์ง์ ๋น๊ตํ์ฌ ๋์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค.
function calculateAge (birthDateString) {
var birthDate = new Date(birthDateString);
var today = new Date();
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}
var age = calculateAge(birthDay);
document.getElementById('age').innerText = age +'์ด';
๋ ๊ตฌํ๊ธฐ
๋ค์์ผ๋ก, 'getKoreanZodiac'๋ผ๋ ํจ์๋ฅผ ๋ง๋ญ๋๋ค. ์ด ํจ์๋ ์๋ ์์ผ์ ์ ๋ ฅ๋ฐ์ ๊ทธ์ ํด๋นํ๋ ๋ ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
function getKoreanZodiac (birthDateString) {
let date = new Date(birthDay);
let year = date.getFullYear();
const zodiacs = ['์ฅ', '์', 'ํธ๋์ด', 'ํ ๋ผ', '์ฉ', '๋ฑ', '๋ง', '์', '์์ญ์ด', '๋ญ', '๊ฐ', '๋ผ์ง'];
return zodiacs[(year - 4) % 12];
}
document.getElementById('zodiac').innerText = getKoreanZodiac(birthDay) + '๋ ';
์ด๋ ๊ฒ ํ๋ฉด, ์น ํ์ด์ง์ ์ฌ์ฉ์์ ๋์ด์ ๋ ๊ฐ ํ์๋ฉ๋๋ค.
์ฝ๋
<!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>
<div id="age"></div>
<div id="zodiac"></div>
<script>
let birthDay = "2001-02-21";
function calculateAge (birthDateString) {
var birthDate = new Date(birthDateString);
var today = new Date();
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}
var age = calculateAge(birthDay);
document.getElementById('age').innerText = age +'์ด';
function getKoreanZodiac (birthDateString) {
let date = new Date(birthDay);
let year = date.getFullYear();
const zodiacs = ['์ฅ', '์', 'ํธ๋์ด', 'ํ ๋ผ', '์ฉ', '๋ฑ', '๋ง', '์', '์์ญ์ด', '๋ญ', '๊ฐ', '๋ผ์ง'];
return zodiacs[(year - 4) % 12];
}
document.getElementById('zodiac').innerText = getKoreanZodiac(birthDay) + '๋ ';
</script>
</body>
</html>
์ด ๊ฐ๋จํ JavaScript ํจ์๋ฅผ ํตํด ๋์ด์ ๋ ๋ฅผ ์ฝ๊ฒ ๊ณ์ฐํ ์ ์์ต๋๋ค.
๋ค์์๋ ๋ ๋ณต์กํ ํจ์๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ผ ๋ค์์ ๋ ๋ง๋์!