8. 내장 함수
1) 타이머 함수
- setTimeout(function, millisecond) : 지정된 시간 후 함수를 한 번 실행(밀리초 단위)
- setInterval(function, millisecond) : 지정된 시간마다 함수를 반복 실행
*위 두 함수는 타이머 id를 리턴값으로 가짐 -> id를 변수에 저장해둬야 중지 가능
- clearTimeout(id) : setTimeout 함수 중지
- clearInterval(id) : setInterval 함수 중지
2) 인코딩과 디코딩 함수
- escape(), unescape()
영문 알파벳과 숫자, 일부 특수문자(@ * - _ + . /)를 제외하고 인코딩
1바이트 문자는 %XX, 2바이트 문자는 %uXXXX 형태로 변환
- encodeURI(uri), decodeURI(encodedURI)
escape 함수와 같으나 일부 특수문자(: ; / = ? &) 제외
- encodeURIComponent(uriComponent), decodeURIComponent(encodedURI)
알파벳과 숫자를 제외한 모든 문자 인코딩
utf-8 인코딩과 동일
3) 코드 실행 함수 eval
- 문자열을 코드로 실행할 수 있는 함수
- 형식: eval(string);
- 예시
var a = ''; // a변수 문자열 타입 초기화
a+='var num=3;'; // a변수에 num 변수 선언 코드를 추가
a+='alert(num);'; // a변수에 알림창 발생 코드를 추가
eval(a); // a에 저장된 스크립트가 실행되어 알림창 발생
var b = num; // eval로 실행된 코드에서 정의한 변수 num 이용 가능(스크립트 실행으로 인해)
-> b의 값: 3
*주의점: 스크립트 실행이 가능하기 때문에 보안상의 문제 발생 소지가 있음
4) 숫자 관련 함수
- 숫자 확인 함수
-> 자바스크립트의 숫자 타입 중 Infinity(무한대)와 NaN(not a number)을 확인하는 함수
isFinite() : 무한한 값인지 확인
isNaN() : NaN인지 확인
*자바스크립트에서는 숫자를 0으로 나누면 에러가 나지 않고 infinity라는 값이 들어감
- 숫자 변환 함수
Number(string) : 문자열을 정수값으로 변환(숫자로 변환할 수 없을 때 NaN 반환)
parseInt(string) : 문자열을 정수값으로 변환(숫자로 변환할 수 있을 때 까지만 변환)
parseFloat(string) : 문자열을 실수값으로 변환
- parse함수는 Number함수를 보완하기에 위해 생긴 함수
-> 숫자+문자열 형태의 문자열 변환 가능(ex. parseInt('1000원') = 1000)
-> 첫 문자부터 계산하기 때문에 첫 문자가 수가 아닐 땐 변환 불가(ex. parseInt('$10')=NaN)
- 매개변수에 ('문자열', 16) 과 같이 진법을 입력하면 해당 진법의 수로 인식
*주의할 점
문자열이 0으로 시작하면 8진수, 0x로 시작하면 16진수로 인식
parseFloat의 경우 문자열 중간에 e가 들어가면 자릿수로 인식
'프로그래밍 > JavaScript' 카테고리의 다른 글
[JavaScript 요약 정리] 10. 생성자(Constructor) 함수 (0) | 2018.12.30 |
---|---|
[JavaScript 요약 정리] 9. 객체(Object) (0) | 2018.12.30 |
[JavaScript 요약 정리] 7. 함수(Function) (0) | 2018.12.28 |
[JavaScript 요약 정리] 6. 반복문(Loops) (0) | 2018.12.28 |
[JavaScript 요약 정리] 5. 조건문(Conditionals) (0) | 2018.12.28 |