함수
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 |
댓글