내장함수
- 자바스크립트에 등록되어 있는 몇가지 내장함수들에 대해 알아봅니다.
eval()
- 문자열로 표현된 자바스크립트 코드를 수행합니다.
var result = eval('2 + 2'); document.write(result);
isFinite()
- 주어진 값이 유한수인지 판별합니다.
var result1 = isFinite(1000 / 3); var result2 = isFinite(1000 / 4); var result3 = isFinite(1000 / 0); document.write(result1 + "<br>"); document.write(result2 + "<br>"); document.write(result3 + "<br>");
isNaN()
- 값이 NaN 인지 판별합니다.
- NaN : Not a Number의 줄임말로 '숫자가 아닌 것'을 뜻합니다.
- 따라서 숫자가 아니면 'true', 숫자이면 'false' 값을 리턴합니다.
var result1 = isNaN("hello world"); var result2 = isNaN(1268); var result3 = isNaN(0.0314E+2); document.write(result1 + "<br>"); document.write(result2 + "<br>"); document.write(result3 + "<br>");
parseFloat()
- 값을 분석하여 부동소수점 실수로 변환합니다.
- 값이 분석하여 실수로 변환할 수 없으면 NaN을 리턴합니다.
var result1 = parseFloat(3.14); var result2 = parseFloat('3.14'); var result3 = parseFloat('314e-2'); var result4 = parseFloat('0.0314E+2'); var result5 = parseFloat("hello world"); document.write(result1 + "<br>"); document.write(result2 + "<br>"); document.write(result3 + "<br>"); document.write(result4 + "<br>"); document.write(result5 + "<br>");
parseInt()
- 값을 분석하여 특정 진수(radix)의 값을 반환합니다.
- 진수는 2~36 사이의 값을 가집니다.
- 값을 변환할 수 없으면 NaN 값을 리턴합니다.
parseInt(문자열, 해당진수);
- 1111(2진수)를 10진수 값으로 바꾸면 15입니다.
parseInt("1111", 2);
- 다음은 값이 기본적으로 15인 진수별 표현입니다.
- 실수를 10진 정수로 변환하면 소수점 이하의 숫자를 버립니다.
var result1 = parseInt("0xF", 16); var result2 = parseInt("F", 16); var result3 = parseInt("17", 8); var result4 = parseInt(15.99, 10); var result5 = parseInt("Hello", 8); document.write(result1 + "<br>"); document.write(result2 + "<br>"); document.write(result3 + "<br>"); document.write(result4 + "<br>"); document.write(result5 + "<br>");
encodeURI()
- URI(Uniform Resource Identifier, 인터넷 식별자)를 utf-8로 나타내는 문자로 인코딩하여 암호화하는 함수입니다.
- 다만 encodeURI() 함수는 다음과 같은 문자 부호를 처리하지 못합니다.
A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
var uri = 'https://mozilla.org/?x=안녕안녕'; var encoded = encodeURI(uri); document.write(encoded + "<br>");
var uri = ';,/?:@&=+$#'; var encoded = encodeURI(uri); document.write(encoded + "<br>");
encodeURIComponent()
- encodeURI() 함수와 비슷한 기능을 함수입니다.
- 다만, 알파벳, 0~9의 숫자, - _ . ! ~ * ' ( )를 제외하고 모든 문자를 이스케이프 처리합니다.
var uri = ';,/?:@&=+$#'; var encoded = encodeURIComponent(uri); document.write(encoded + "<br>");
var uri = "-_.!~*'()"; var encoded = encodeURIComponent(uri); document.write(encoded + "<br>");
decodeURI()
- encodeURI() 함수로 인코딩한 URI를 해독합니다.
var uri = 'https://mozilla.org/?x=안녕안녕'; var encoded = encodeURI(uri); var decoded = decodeURI(encoded); document.write(encoded + "<br>"); document.write(decoded + "<br>");
decodeURIComponent()
- encodeURIComponent() 함수로 인코딩한 URI를 해독합니다.
var uri = 'https://mozilla.org/?x=안녕안녕'; var encoded = encodeURIComponent(uri); var decoded = decodeURIComponent(encoded); document.write(encoded + "<br>"); document.write(decoded + "<br>");