연습/개발언어

4. JavaScript 함수

TimeSave 2022. 1. 20. 21:47

 

함수

 

- 호출 : 함수 내부의 코드를 실행하는 것.

- 매개변수 : 함수에 자료 값을 넘기기 위해 사용하는 것.

- 리턴 : 함수를 실행한 결과로 나오는 것.

- 콜백 함수 : 함수의 매개변수로 함수를 전달할 때, 해당 함수

 

익명함수(=함수리터럴)

 

1. 함수도 자료형이다.

typeof(함수); => function이라는 문자열이 나옴.

 

2. 익명함수 : 형태는 함수이지만 이름이 없는 것.

JavaScript에서는 function(){}의 형태로 막 사용이 가능하다.

 

3. 선언적 함수 : 이름이 있는 함수.

- 웹 브라우저는 script 태그를 한줄씩 읽기 전에, 선언적 함수부터 읽는다.

 

<script>

함수 ();

function 함수() { alert ('함수 A'); }

function 함수() { alert ('함수 B'); }

</script>

 

따라서, 2번째줄 -> 3번째줄 -> 1번째 줄의 순서로 실행 됨.

 

 

 

 

매개변수(=argument)

- JavaScript는 함수를 생성할 때, 지정한 매개변수 보다 많거나, 적은 매개변수 사용을 허용합니다.

- 추가된 매개변수는 무시하고 동작함.

- 적게 선언한 매개변수는 undefined로 입력됨.

 

- 이용 예

Array() : 빈 배열 생성

Array(number) : number의 크기를 가지는 배열 생성

Array(any, any,..) : 매개변수를 요소로 배열 생성

 

 

 

---------------- 이 부분이 책에서 이상함 --------------

가변인자 함수 : 매개변수의 개수가 변할 수 있는 함수.

ex) Array()

 

JavaScript 내장 변수 arguments

= 매개변수의 배열.

 

-------------------------------------------------------

 

- return 값 : 함수를 호출한 곳으로 돌아가라는 뜻.

 

- 콜백 함수 : 매개변수로 전달하는 함수. 함수도 자료형이므로 매개변수가 된다.

=> 익명함수랑 엮어서, 익명 콜백함수로 사용한다.

 

==> 이점에 착안하여 함수를 return하는 함수를 만들 수 도 있다.

이 경우, 리턴은 해당 함수를 호출하는 것이다.

 

- 클로저

; 지역변수를 남겨두는 현상

; 어떠한 함수 때문에 생성된 공간

; 리턴된 함수 자체

; 살아남은 지역변수.

 

=> JavaScript는 var형태의 지역변수를 함수가 종료해도 남겨놓는다.

==> 이후 실행 될 것을 대비하여.

 

외부에서 마음대로 사용할 수 있는 것은 아니고, return된 클로저 함수를 사용해야 지역변수 output을 사용할 수 있음.

 

 

- JavaScript 내장함수

; 아래 함수들을 매서드라고 칭한다.

 

SetTimeout(function, ms) = 일정 시간 후 함수를 한 번 실행

SetInterval(function, ms) = 일정 시간마다 함수를 반복해서 실행

clearTimeout(id) = time out 중지

clearinteval(id) = interval 중지.

 

 

timeout은 시간이 지나면 실행,

interval은 시간 마다 실행

 

인코딩 디코딩 함수 : 여러개가 있다. 이부분은 skip

 

코드실행 함수 : 문자열을 코드로 실행할 수 있는 함수.

- eval(string) : string을 JavaScript 코드로 실행한다

 

ex)

val willEval = '';

willEval += 'var number = 10 ;';

willEval += 'alert(number);';

 

eval(willEval);

 

출력 : 10

해설 : alert(number)가 문자열인데, alert함수를 실행하였다.eval 덕분에.

 

숫자확인함수 : isFinite(), isNaN()

 

숫자변환함수 : parseint(string), parseFloat(string)

string을 정수로, string을 유리수로 변환함.

parse를 기억하라.

number()함수의 단점 때문에 만들어짐. : 숫자로 변환할 수 없으면 NaN으로 변환함.

 

 

 

 

 

 

 

 

 

 

참고문헌

모던웹을 위한 JavaScript + jQuery 입문 3판. 한빛미디어. 윤인성

.2018

 

 

 

 

'연습 > 개발언어' 카테고리의 다른 글

Java 기초 1  (0) 2022.01.20
5.자바스크립트 실행 순서, 값 복사 등  (0) 2022.01.20
3.JavaScript 조건문, 배열  (0) 2022.01.20
2. JavaScript 기초 용어 정리  (0) 2022.01.20
1. JavaScript의 전반적인 상식.  (0) 2022.01.20