일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 혼자공부하는파이썬
- 파이썬조건문
- 호버스타일
- 비쥬얼스튜디오코드
- #파이썬
- 한빛미디어
- 파이썬혼자공부하기
- 파이썬혼공
- 일본나라여행
- hover style
- 일본
- 파이썬문자열
- 조건문
- Python
- 파이썬공부
- 일본 관광
- 혼공파
- 파이썬
- 혼공단
- input style
- 혼자여행
- 비쥬얼스튜디오코드설치
- 일본 나라
- 혼공파선택미션
- 일본여행
- 일본 사슴
- input
- 혼공파미션
- 나라 사슴
- 나라여행
- Today
- Total
Eveningstar
함수(function) 본문
함수(function)
- 함수는 코드의 집합을 나타내는 자료형이다. 함수의 일반적 기능은 특정 작업을 수행하는 구문들의 집합을 정의하고 필요시에 호출하여 필요한 값 또는 수행 결과를 얻는 것이다.
- 함수는 객체이다. 다른 객체와 달리 호출이 가능하다.
- 함수는 변수나 객체, 배열등에 저장될수 있고, 다른 함수에 전달되는 인수로도 사용될 수 있으며, 함수의 반환값이 될 수 있다.
**(함수란, 자주 사용하는 처리를 하나로 묶은 작은 단위의 프로그램이다. 함수를 사용하고싶다면 호출이라는 과정을 거쳐야한다.)
함수사용의 장점
- 사용하고 싶을 때 어디서든 반복해서 호출할 수 있다.
- 매개변수를 변경하면 다른 데이터를 이용해서 동일한 가공처리를 할 수 있다.
- 처리를 하나로 모을 수 있다.
1. 함수 정의
함수를 정의하는 방법은 3가지가 있다.
- 함수선언식(Function declaration)
- 함수표현식(Function expression)
- Function() 생성자 함수
1-1) 함수선언식
함수명 매개변수 목록 {함수 몸체}
함수가 호출되면 몸체 부분의 코드를 실행한다.
function square(number) { return number * number; }
1-2) 함수표현식
함수에 숫자나 문자열처럼 변수에 저장하는 것이 가능하며, 함수 리터럴로 하나의 함수를 만들고, 그 안에 생성된 함수를 변수에 저장하는 것,
var 함수명 = function(필요한 매개변수) {
구체적인 처리내용
};
var square = function(number) { return number * number; };
기명함수 표현식과 익명 함수 표현식
// 기명 함수표현식(named function expression) var foo = function multiply(a, b) { return a * b; }; // 익명 함수표현식(anonymous function expression) var bar = function(a, b) { return a * b; }; console.log(foo(10, 5)); // 50 console.log(multiply(10, 5)); // Uncaught ReferenceError: multiply is not defined
함수표현식과 함수선언식에서 사용한 함수명은 함수 몸체에서 자신을 재귀적 호출하거나 자바스크립트 디버거가 해당 함수를 구분할 수 있는 식별자의 역할을 한다.
1-3) function() 생성자 함수
new Function(arg1, arg2, ... argN, functionBody)
익명함수
- 이름이 없는 함수, 이름이 없으므로 변수에 넣어 사용해야한다.
var var_function = function() {
var output = prompt('숫자를 입력해주세요', '숫자');
document.write(output);
};
https://jsfiddle.net/jywoo/uhxmsdvx/
선언적 함수
- 이미 브라우저가 내장하고 있는 함수 또는 다음방식으로 생성한 함수
function 함수 () { }
선언적 함수의 재정의
함수의 이름이 같다면 나중에 정의된 함수가 실행된다.
function define1() { alert('함수 A');} function define1() { alert('함수 B');} define1();
var define1 = function() { alert('함수 A');} var define1 = function() { alert('함수 B');} define1();
변수를 같은 이름으로 선언하면 기존 변수를 덮어씌우듯이 뒤쪽의 함수가 덮어쓰게 됨.
익명함수와 선언적 함수의 차이점
다음의 코드 중 실행 오류가 없는 것은?
define1(); var define1 = function() { alert('함수 A');} var define1 = function() { alert('함수 B');}
define1(); var define1 = function() { alert('함수 A');} var define1 = function() { alert('함수 B');}
https://jsfiddle.net/jywoo/rehogj0m/
* 웹브라우저는 스크립트 내용을 한줄씩 읽기전에 선언적 함수부터 읽게된다.
매개변수와 리턴값
매개변수와 리턴값을 가지는 함수는 필요에 의해 선택적으로 사용해야한다.
function 함수이름(매개변수, 매개변수){
//함수코드
reaturn 리턴값;
}
가변 인자 함수
가변 인자 함수는 매개변수의 개수가 변할 수 있는 함수이다.
function sunAll {
// 출력
alert(typeof (arguments) + ':' + arguments.lenght);
}
//함수호출
sumAll(1,2,3,4,5,6,7,8,9);
https://jsfiddle.net/jywoo/s7fd15bu/