1. 함수 선언 후 실행하기
함수는 선언 후 반드시 실행해야 사용할 수 있다. 실행은 소괄호를 이용한다.
- 함수 : 기능 수행 또는 계산을 수행하는 코드 집합을 의미한다.
- 함수 사용 : 호출 방법, 함수 선언 종류
// 0. 함수 정의하고 실행하는 방법
// 함수 정의하기.
// const output = function () {
// console.log("함수를 실행했습니다.");
// };
// 함수 실행하기.
// 함수명()
// output();
2. input 값 가져오는 dateFormMaker 함수 만들기
원하는 날짜를 가져오는 동적인 값을 만들기 위하여 함수를 만들어준다.
여기서 document.querySelector를 이용하는데 document는 객체의 일부이다.
// 1. dateFormMaker 함수 만들기 : input에 담기는 값 가져오는 함수 만들기.
const dateFormMaker = function () {
const inputYear = document.querySelector("#target__year__input").value;
const inputMonth = document.querySelector("#target__month__input").value;
const inputDate = document.querySelector("#target__date__input").value;
// Template literals
const dateFormat = `${inputYear}-${inputMonth}-${inputDate}`;
// 또 다른 함수에 dateFormat을 참조해야 한다.
// 함수에 갇혀있는 변수 : 지역 변수
// 함수 밖에 있는 변수 : 전역 변수
// 바깥으로 나갈 수는 없지만, 안으로 들어갈 수 있다.
};
3. 현 시점에서 원하는 날짜까지 얼마나 남았는지 체크하는 countMaker 함수 만들기
- 현재 시간
- 원하는 시간
- 남은 시간 : 남은 날짜, 남은 시간, 남은 분, 남은 초 모두 계산할 수 있다.
시간이 너무 커서 24로 나누었을 때 (예를 들어서 시간이 75시간이면 24시간이 하루이기 때문에, 일 수로 변경할 수 있기 때문이다.), 몫은 며칠인지를 나타내는 것이고 (즉, 일 수를 나타낸다.) 나머지가 날짜로 변경 후 남은 시간을 의미한다.
이 부분은 계속 헷갈리니 계속 고민해보기.
const remainingDate = Math.floor(remaining / 3600 / 24);
const remainingHours = Math.floor(remaining / 3600) % 24;
const remainingMins = Math.floor(remaining / 60) % 60;
const remainingSecs = Math.floor(remaining) % 60;
그래서 이런 식으로 남은 시간들을 나타낼 수 있다.
// 2. countMaker 함수 만들기 : 현 시점에서 원하는 날짜까지 얼마나 남았는지 체크하는 함수 만들기.
const countMaker = function () {
const newDate = new Date(); // 현 시점
const targetDate = new Date(dateFormat); // 원하는 날짜
const remaining = (targetDate - newDate) / 1000; // 원하는 날짜에서 현 시점까지 남은 s(초)
// 남은 날짜, 남은 시간, 남은 분, 남은 초 나타내기.
const remainingDate = Math.floor(remaining / 3600 / 24);
const remainingHours = Math.floor(remaining / 3600) % 24;
const remainingMins = Math.floor(remaining / 60) % 60;
const remainingSecs = Math.floor(remaining) % 60;
console.log(remainingDate, remainingHours, remainingMins, remainingSecs);
};
4. dateFormMaker의 값 반환 받아 countMaker에서 이용하기
- 전역 변수와 지역 변수의 개념
- 이 경우에 함수의 반환이 이루어진다. 반환 후 바로 함수가 종료된다.
A 함수에서 값을 반환 받아 B 함수에서 이용하기.
- A 함수에서 밖으로 내보내고 싶은 값을 반환하기.
- B 함수에서 A 함수를 실행시키는 명령을 담은 변수 만들어주기.
- B 함수에서 필요한 부분에 그 변수 넣어주기.
이 순서대로 실행한다면, 제대로 값을 반환받을 수 있다.
5. 함수의 선언 종류
함수 선언문 | 호이스팅 O |
함수 표현식 | 호이스팅 X |
화살표 함수 |
호이스팅이 존재하는 함수 선언문은 예측이 어렵기 때문에 잘 사용하지 않는다. 원래 자바스크립트 코드는 위에서 아래로 읽는다.
funtion 함수명(){} // 함수 선언문
const 함수명 = function(){} // 함수 표현식
const 함수명 = () => {} // 화살표 함수
'web > javascript 기초' 카테고리의 다른 글
[javascript] D-Day-Counter (3) (0) | 2023.05.05 |
---|---|
[javascript] D-Day-Counter (2) (0) | 2023.05.05 |
[javascript] 이벤트 변경 감지하기 (0) | 2023.03.06 |
[javascript] 회원가입 폼 오류 수정하기 (0) | 2023.03.06 |
[javascript] 함수 (0) | 2023.03.04 |