함수
- 호출 : 함수 내부의 코드를 실행하는 것.
- 매개변수 : 함수에 자료 값을 넘기기 위해 사용하는 것.
- 리턴 : 함수를 실행한 결과로 나오는 것.
- 콜백 함수 : 함수의 매개변수로 함수를 전달할 때, 해당 함수
익명함수(=함수리터럴)
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 |