본문 바로가기
Javascript

함수(Javascript)

by 지민재 2022. 7. 13.
반응형
SMALL

함수

function 함수명 (인수) {   
	처리 로직 
 
   return 출력 반환값
}
function square(x) {    
	var result = x * x; 
	
	return result; 
}  
* 1일차 참조) 함수명 캐멀 표기법 

인수

function add(a, b) {   
	var c = a + b;
	return c;
}
  • 인수가 여러개면 쉼표로 구분

인수를 받지 않는 함수

function animal() {    
	console.log(”동물”); 
};

animal(); // 멍멍 
console.log(animal()); // undefined - 반환값이 없음
  • 즉시 실행 함수
(function() { .. })(); //인수 넘길 수 있고 반환 값 받을 수 있음

 

참조에 의한 호출과 값에 의한 호출

  • 원시값 -> 함수 인수 넘겼을때는 대입되어 복사
  • 객체 값 -> 인수 객체의 참조가 대입되어 복사
  • 객체의 값을 인수로 넘기게 되면 인자와 인수가 동일하게 변경
  • 원시값은 값 자체가 복사가 되므로 인자와 인수가 각각 유지

함수 리터럴로 함수 정의

  • 함수 리터럴은 무명함수 또는 익명 함수라고 한다.
  • 함수 리터럴을 사용할땐 끝에 세미콜론(;)을 붙여야 한다
  • 함수 리터럴로 정의한 함수는 끌어올리지 않는다
var circle = function(x) { 
	return x * x; 
};
var square = function sq(x) { return x * x; }; //익명함수에도 이름을 붙일 수 있다 

 

함수 안에서 변수 선언과 변수 끌어올림

 

unction f() {
	console.log(a); // undefined -> 끌어올리지 않는다면 Reference Error 발생
	var a = "local";
	console.log(a); // -> local 
	return a;
} 
// 함수 중간 부분에서 변수를 선언하더라도 변수는 함수의 첫머리로 끌어올림

함수의 실행 흐름

  • 호출된 코드의 인수가 정의문에 대입 ->
  • 함수 정의문의 중괄호 안에 플그램이 순차적으로 실행 ->
  • return 문이 실행되면 호출된 코드로 돌아감 (return 값 = 함수의 반환값) ->
  • return 문이 실행되지 않은 상태로 마지막 문장이 실행되면, 호출한 코드로 돌아간 후에 undefined가 함수의 반환값이 됨

'Javascript' 카테고리의 다른 글

배열(Javascript)  (0) 2022.07.19
객체(Javascript)  (0) 2022.07.13
변수의 유효범위 , let , const(Javascript)  (0) 2022.07.13
생성자(Javascript)  (0) 2022.07.13
변수 , 연산자(Javascript)  (0) 2022.07.10

댓글