함수_js
2021. 12. 18. 10:28ㆍksmart_html_css_js/JavaScript
728x90
- 메모리에 자바스크립트 코드를 저장 할 수 있는 수단
- function 키워드로 함수 선언이 가능하다.(코드 저장)
- 선언된 함수를 호출해야 저장된 코드가 실행된다.
- 함수에는 일반함수와 익명함수가 있다.
일반함수 : 함수 선언시 함수명이 지정, 선언 위치 상관없이 호출 가능(호이스팅 기술)
익명함수 : 함수 선언시 함수명이 없으며, 대입(변수)해서 선언, 선언을 위에서 해야하며 아래에서 호출 가능
- 함수호출 : 함수명(), 대입된변수명();
일반함수
- function 함수명(){}
<script type="text/javascript">
/*
함수 선언
function 키워드 활용
*/
function myFn(){
console.log('일반함수선언');
}
</script>
익명함수
var myFn2=function(){
console.log('익명함수선언');
}
함수 호출
- 함수 호출
함수명();, 대입된 변수명();
- 호출시 저장된 코드를 실행해준다.
myFn();
myFn2();
console.log(myFn,myFn2);

함수를 변수에 대입해보기
var myFun01=myFn;
var myFun02=myFn2;
console.log(myFun01,'함수변수 대입');
console.log(myFun02,'함수변수 대입');

매개변수가 있는 함수
- 함수 호출 시 데이터를 함수에 전달 할 수 있다.
- 함수 호출 시 전달된 데이터를 받는 함수를 매개변수라고 한다.
- 함수 호출 시 전달된 데이터의 순서와 매개변수의 데이터 순서가 일치한다.
- 함수 호출 시 전달되는 데이터를 인수, 함수에서 매개변수로 받는 데이터를 인자라고 한다.
- 매개변수에는 변수 선언 키워드가 생략된다.
<script type="text/javascript">
function mySum(n1,n2,n3){
console.log(n1,n2,n3);
}
mySum();
</script>

- 매개변수가 지정되어 있더라도 인수 없이 호출이 가능하며, 인수 없는 자리에는 undefined 값이 출력된다.
<script type="text/javascript">
function mySum(n1,n2,n3){
console.log(n1,n2,n3);
}
mySum();
mySum(10);
</script>

<script type="text/javascript">
function mySum(n1,n2,n3){
console.log(n1,n2,n3);
}
mySum();
mySum(10);
mySum(10,null,20);
mySum(10,20,30);
mySum(10,20,30,40);
</script>

return
- 함수 내에 return 키워드가 있을 경우 호출 한 곳에 return에 지정 된 값을 전달해준다.
<script type="text/javascript">
function myNumber(n1,n2){
return n1 + n2;
}
var sum=myNumber(10,20);
console.log(sum);
</script>

- return 키워드가 없을 경우 호출한곳에 undefined 출력
function myNum2(){
}
console.log(myNum2(),'return 키워드 없다면?');

- 함수 종료 return
function myNum3(){
console.log('myNum3함수호출');
return;//함수종료문
}

- 함수 종료 예제
function myNum4(){
for(var i=0;i<10;i++){
console.log(i,'for 함수 return 종료 예제')
if(i>5){//6이면 return
return i;
}
}
}

매개변수 -> 변수
<script type="text/javascript">
function myFunction(fn){
console.log(fn);
fn();//인자가 함수임으로 실행 할 수 있다. '안녕하세요'가 출력이 된다.
}
myFunction(function(){
console.log('안녕하세요');
})
</script>

728x90
'ksmart_html_css_js > JavaScript' 카테고리의 다른 글
| 함수 - 내부함수, 재귀호출_js (0) | 2021.12.18 |
|---|---|
| 콜백함수_js (0) | 2021.12.18 |
| Continue, Break, 중첩 반복문_js (0) | 2021.12.18 |
| 제어문-반복문(for)_js (0) | 2021.12.18 |
| 배열(Array)_js (0) | 2021.12.18 |