개발/Java
자바스크립트 - 함수
dev-bleck
2022. 11. 15. 17:43
선언적 함수 : 함수의 기본적인 선언 방법
<script>
function aaa() {
console.log('aaa 함수 실행');
}
aaa(); // 함수 실행
</script>
변수에 익명 함수를 참조시킨다 (=변수에 함수를 담는다)
<script>
var bbb = function() { // 익명 함수
console.log('bbb 함수 실행');
}
bbb(); // 함수 실행
</script>
다른 선언된 함수를 참조한다 (=변수에 함수를 담는다)
<script>
var ccc = aaa;
ccc(); // aaa 함수 실행
// 함수를 배열에 담고, for of 사용해서 실행
var factoryArr = [aaa, bbb];
for(f of factoryArr) {
fn();
};
</script>
Call - back 함수
<script>
function aaa(callback) {
// call-back 함수
console.log('aaa 함수 실행');
callback(500); // aaa(callback(500)) == aaa(function(data))
}
functionn bbb() {
console.log(arguments); // callback의 파라미터(500)를 console에 출력
console.log('bbb 함수 실행');
}
bbb();
// bbb가 callback 함수로 들어가서 callback 함수가 실행되면 bbb가 실행된다.
// callback(500);에 파라미터가 들어가 있지만, 형식적 파라미터기에 없어도 실행 가능.
// 따라서 이상없이 bbb가 실행됨.
aaa(bbb);
// aaa를 실행하면서 익명함수를 만들어서 넣어줌
aaa(function(data) {
console.log('익명 함수 실행' + data);
});
</script>
클로져(Closure)
<script>
function aaa(aNum) {
let data = 'Hello';
return (function(num) {
console.log(data + ' aaa의 내부 함수 ... ' + (aNum + num));
});
};
// 새로운 함수가 aaa를 기억하고 받아서 사용 가능
var fn = aaa(30);
fn(100);
</script>
템플릿 문자열 : `${ }`
<script>
function mkFn(name) {
var tmpStr = `${name}의 점수는 `;
return (function(score, callback) {
console.log(tmpStr + score + "점 입니다.");
callback(name);
});
}
var printScore = mkFn('홍길동');
printScore(95, function(result) {
console.log(result + '의 성적 확인 완료');
});
</script>
728x90