프로젝트 기간 수업 D+5
5장. 함수
* 함수의 형태
var 함수 = function( ) { }; |
- 괄호 내부에 코드를 넣음
* 익명함수
- function ( ) { } 형태는 함수지만 이름을 가지고 있지 않음
- 이름이 없으므로 변수에 넣어 사용해야 함
* 내장함수
- 모든 브라우저는 내장하고 있는 함수의 소스를 볼 수 없게 막아놓음
- '선언적 함수'
* 함수 호출
- 함수는 자료형이지만 뒤에 괄호를 열고 닫음으로써 코드 실행
- 함수를 실행하는 것
* 일반적인 함수의 형식
function 함수 ( ) { } |
var 함수 = function ( ) { }; |
* 변수를 선언하기 이전에 변수를 사용하면 실행되지 않음
*선언적 함수를 사용하면 정상적으로 코드 실행됨
- 웹 브라우저는 선언적 함수 먼저 읽음
* 매개변수
- 함수를 호출할 때 괄호 안에 적는 것
- 함수를 호출하는 쪽과 호출된 함수를 연결하는 매개가 되는 변수
- 자바스크립트는 함수를 생성할 때 지정한 매개변수보다 많거나 적은 매개 변수를 사용하는 것을 허용함
* 리턴값
- 함수를 호출하고 함수가 변환되는 값
* Array() 함수
* 가변인자 함수
- 매개 변수의 개수가 변할 수 있는 함수
* sumAll() 함수
- 매개 변수로 입력된 숫자를 모두 더하는 삼수
* arguments 객체
- 자료형과 배열의 길이 출력할 수 있음
* 리턴값 활용
- return 키워드를 사용해서 함수를 호출한 곳으로 값을 넘김
- 함수가 실행되는 도중 함수를 호출한 곳으로 돌아가라는 의미
- return 키워드 사용시 값을 지정하지 않아도 함수를 호출한 곳으로 돌아감
* 내부 함수
- 함수 내부에 선언한 함수
- 내부 함수를 사용하면 외부에 이름이 같은 함수가 있어도 내부 함수 우선
- 내부 함수는 내부 함수가 포함되는 함수에서만 사용 가능
* 피타고라스의 정리를 구현하는 함수 : pytagoras(width, height)
* callFunction
- 함수를 매개 변수로 받아서 해당 함수를 호출
* 함수를 리턴하는 함수 : 옛날 브라우저는 안나오는 경우도 있음
- 함수 안에 있는 변수는 지역 변수이므로 외부에서 사용할 수 없음 : 함수를 return 해서 사용할 수 있도록 해야함
* 내장 함수
- 자바스크립트에서 자체 제공하는 기본 내장 함수
- 인코딩, 디코딩과 관련된 내장 함수
* encodeURIComponent() 거의 대부분 사용
* 자바 스크립트 개본 내장 함수
- eval(string) 많이 사용함
- Finity : 0으로 숫자를 나누면 오류가 발생하며 infinity로 출력됨 / 유한한 수라면 Finity가 출력 / 음수를 0으로 나누면 비교 불가
- Nan : Not a Number : 숫자지만 자바스크립트가 표현할 수 없는 문자