자료
제어 - 알고리즘
=> 구문 = 모듈화(라이브러리)
함수중심 - 구조적 프로그래밍 c
객체중심 - 객체 지향 프로그래밍 c++, Java
함수(function)
사용자 정의 함수 - 개발자가직접 선언
내장 함수 - 프로그램이 제공
=> 화살표 함수 (lambda 람다함수)
const doFunc1 = function() {
console.log(' doFunc1 호출');
}
//일반함수
const doFunc2 = () => {
console.log('doFunc2 호출');
}
//화살표 함수
const doFunc3 = (one=10) => {
console.log('doFunc2 호출' + one);
}
// 파라미터 안에 초기값 10을 줘서 인자값이 안들어와도 10반환
const doFunc4 = (one, two) => one + two;
// one two 파라미터를 받고 반환하는 한줄 화살표함수
// return one+two; 와 동일
.
.
.
doFunc1();
doFunc2();
doFunc3();
console.log('더한 결과는' + doFunc4(10, 20));
let one = 100;
const doFunc1 = function(one) {
console.log('doFunc1 호출' + one) ;
};
console.log('one 호출' + one) ;
// 함수 밖에서 선언된 변수는 함수안에서 적용되지않음
// 하지만 var로 선언된 변수의 scope는 전역적용됨
doFunc1 = undefined
one = 100
let ...
let ... => 전역변수
const func = function() {
let ...
let ... => 지역변수
}
함수 호출시 지역(static)변수값 출력
외부에서 호출시 전역(local)변수값 출력
const outer = function() {
const inner1 = function() {
console.log(" inner 1 호출 ");
}
const inner2 = function() {
console.log(" inner 2 호출 ");
}
//지역함수 내에서만 호출가능
inner1();
inner2();
console.log(" outer 호출 ");
}
//전역함수 호출
outer();