JavaScript/JavaScript
JS 알아보기 (함수)
IT Blue
2021. 6. 2. 22:13
함수
https://bluelearn.tistory.com/39?category=947483
화살표 함수
// 화살표 함수
// 일부 내용을 생략해서 축약형으로 작성이 가능하다
// () => {} vs function () {}
// 함수 표현
const double = function (x) {
return x * 2
}
// double: 14
console.log('double: ', double(7))
const doubleArrow = (x) => {
return x * 2
}
const doubleArrow2 = (x) => x * 2
// doubleArrow: 14
console.log('doubleArrow', doubleArrow(7))
// doubleArrow2: 14
console.log('doubleArrow2', doubleArrow2(7))
IIFE (즉시 실행 함수)
// 즉시 실행 함수
// 함수를 정의하자마자 바로 호출하는 함수
// IIFE, Immediately-Invoked Function Expression
(function () {
내용
}())
// 예시
(function (x) {
console.log(x * 2)
}(7));
호이스팅
// 호이스팅 (Hoisting)
// 함수 선언부가 유효범위 최상단으로 끌어올려지는 현상
const a = 7
double()
function double() {
console.log(a * 2)
}
타이머 함수
// 타이머 함수
// setTimeout(함수, 시간(ms)): 일정 시간 후 함수 실행
// clearTimeout(): 설정된 Timeout 함수를 종료
// 3초 후에 IT Blue 출력
setTimeout(function () {
console.log('IT Blue!')
}, 3000)
// 3초 후에 IT Blue 출력
const timer = setTimeout(() => {
console.log('IT Blue!')
}, 3000)
// h1 요소를 클릭하면 타이머 함수 종료
const h1El = document.querySelector('h1')
h1El.addEventListener('click', () => {
clearTimeout(timer)
})
// 타이머 함수
// setInterval(함수, 시간): 시간 간격마다 함수 실행
// clearInterval(): 설정된 Interval 함수를 종료
// 3초 마다 IT Blue 출력
const timer = setInterval(() => {
console.log('IT Blue!')
}, 3000)
// h1 요소를 클릭하면 타이머 함수 종료
const h1El = document.querySelector('h1')
h1El.addEventListener('click', () => {
clearInterval(timer)
})
콜백
// 콜백 (Callback)
// 함수의 인수로 사용되는 함수
// setTimeout(함수, 시간)
// 콜백함수 예시
function timeout(cb) {
setTimeout(() => {
console.log('IT Blue')
cb()
}, 3000)
}
timeout(() => {
console.log('Done!')
})