IIFE, Immediately-Invoked Function Expression
익명함수를 만들자마자 그자리에서 바로 실행해서 동작 시킬 수 있는 방법
함수를 만들고나서 한 번만 실행하고 이후 사용하지 않을 경우에 유용
1번 방식
(function () {
console.log(a*2)
})();
2번 방식 - 권장
(function () {
console.log(a*2)
}());
const a = 7
double() // 기명함수는 먼저 호출 가능
function double() {
console.log(a * 2)
}
const timer = setTimeout(() => {
console.log('hello')
}, 3000)
const h1El = document.querySelector('h1')
h1El.addEventListener('click', () => {
clearTimeout(timer)
})
혹은
const timer = setInterval(() => {
console.log('hello')
}, 3000)
const h1El = document.querySelector('h1')
h1El.addEventListener('click', () => {
clearInterval(timer)
})
function timeout(callback) {
setTimeout(() => {
console.log('hello')
callback()
}, 3000)
}
timeout(() => {
console.log('world')
})