function
수납상자 코드가 많아지면 정리정돈이 필요한 도구 중 하나가 function , 더 큰 의미가 object(객체)이다
다른 객체처럼 속성 및 method를 가질 수 있기에 일급 객체이며 인자를 가질 수 있는 코드 블록이다.
함수는 자체 범위를 가지며 javaScript에서 함수는 프로그램의 매우 중요한 특징이며, 특히 부모 함수의 지역 변수에
접근할 수 있다(이를 closure라고 한다).
ex) 만약 <li>2-1</li> 과 <li>2-2</li>가 일억만개정도 여러군데이 있을때 어떤식으로 쉽게 처리할까 ?
<h1>Function</h1>
<h2>Basic</h2>
<ul>
<script>
document.write('<li>1</li>');
document.write('<li>2-1</li>');
document.write('<li>2-2</li>');
document.write('<li>3</li>');
document.write('<li>2-1</li>');
document.write('<li>2-2</li>');
</script>
</ul>
two라는 fuction기능을 써서 그 안에다가 반복될 아이를 적어준다
그 뒤에
들어가야할 곳에 넣어주면 끝!
- 함수를 사용하는 이유
- 코드를 재사용할 수 있다(즉, 한번 정의하고 여러번 사용 가능하다 ).
- 다른 인자를 사용하여 동일한 코드를 여러 번 사용할 수 있으며, 다른 결과를 도출할 수 있다.
2. 함수의 특징
- 함수가 값이기 때문에 변수안에 담길 수 있다.
- 객체의 속성안에 method로 담길 수 있다.
- 다른 함수의 인자값을 전달될 수 있다 .
- 함수의 return값으로도 사용할 수 있다.
- 배열의 값으로도 사용할 수 있다.
3. 함수 구문
function name (parameter1, parameter2,...) {
// Execution statement
}
- 함수 내에 선언된 변수는 함수의 지역변수가 된다. 지역 변수는 함수 내에서만 접근할 수 있으며 함수가 시작될 때 생성되고 함수가 완료되면 삭제된다.
- 함수 이름에는 문자, 숫자, 밑줄 및 달러 기호 (변수와 동일한 규칙)가 포함될 수 있다.
- 괄호에는 쉼표로 구분된 매개 변수 이름이 포함될 수있다.
(parameter1, parameter2, ...) - 함수가 실행할 코드는 중괄호 ({})안에 있다.
3.1 함수 선언식
function addOne(x) {
var y = x + 1;
return y;
}
3.2 함수 표현식 : 변수를 선언하고 함수를 대입하는 방식을 함수 표현식이라고 한다.
var addOne = function(x) {
var y = x + 1;
return y;
};
* 함수 표현식과 함수 선언문의 차이
함수 선언문
- 함수는 주요 코드 흐름 중간에 독자적인 구문 형태로 존재한다.
- 함수 선언문이 정의되기 전에도 호출이 가능하다.
함수 표현식
- 함수는 표현식이나 구문 구성 내부에 생성된다.
- 실제 실행 흐름이 해당 함수에 도달했을 때 함수를 생성한다.
따라서 실해 흐름이 함수에 도달했을 때부터 해당 함수를 사용할 수 있다.
위와 같이 가능한 이유는 JavaScript 내부의 알고리즘 때문이다.
JavaScript는 Script를 실행하기 전, 준비 단계에서 전역에 선언된 함수 선언문을 찾고 해당 함수를 생성한다.
즉, Script가 진짜 실행되기 전 '초기화 단계'에서 함수 선언 방식으로 정의한 함수가 생성되는 것이다.
Script는 함수 선언문이 모두 처리된 이후에서야 실행된다. 따라서 Script 어디서든 함수 선언문으로 선언된 함수에 접근할 수 있다.
4. 함수 이름 지정
함수의 이름은 가능한 짧고 정확하게 함수의 기능을 설명해야한다.
● show
● get
● calc
● create
● check : 무언가를 확인하고 불리언 등을 반환
5. 함수 선언
function add (x, y) {
var result = x + y;
console.log(result);
return result;
}
위 코드 예제는 add라는 이름의 함수를 선언하는 코드이다. 즉, add라는 단어의 의미가 저 함수가 되도록 설정한다는 뜻이다. 기본적으로 자바스크립트에서 add라는 단어는 아무런 의미가 없는 단어지만 저 함수를 선언해줌과 동시에 우리는 add라는 단어를 사용할 수 있게 되고, JavaScript 실행 엔진도 add라는 단어가 곧 저 함수를 의미한다는 것을 알게 된다.
6. 함수 호출
선언해 놓은 함수는 아래와 같이 소괄호를 이용하여 호출할 수 있다.
함수를 호출한다 = 함수 내부의 코드가 실행된다
add(3, 5);
매개변수(Parameter)와 인자(Argument)
함수는 입력과 출력으로 이루어져있는데
입력부분이 매개변수와 인자
출력이 return이다
Return 명령문
return 명령문은 함수 실행을 종료하고, 주어진 값을 호출 지점으로 반환한다.
repectory
동작하는 내용은 똑같지만, 코드를 효율적으로 하는 것
함수는 repectory에서 아주 중요한 역할을 한다