내장함수
- 자바스크립트에 등록되어 있는 몇가지 내장함수들에 대해 알아봅니다.
eval()
- 문자열로 표현된 자바스크립트 코드를 수행합니다.
1 2 | var result = eval( '2 + 2' ); document.write(result); |
isFinite()
- 주어진 값이 유한수인지 판별합니다.
1 2 3 4 5 6 7 | 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' 값을 리턴합니다.
1 2 3 4 5 6 7 | 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을 리턴합니다.
1 2 3 4 5 6 7 8 9 10 11 | 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 값을 리턴합니다.
1 | parseInt(문자열, 해당진수); |
- 1111(2진수)를 10진수 값으로 바꾸면 15입니다.
1 | parseInt( "1111" , 2); |
- 다음은 값이 기본적으로 15인 진수별 표현입니다.
- 실수를 10진 정수로 변환하면 소수점 이하의 숫자를 버립니다.
1 2 3 4 5 6 7 8 9 10 11 | 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 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
1 2 3 4 | var encoded = encodeURI(uri); document.write(encoded + "<br>" ); |
1 2 3 4 | var uri = ';,/?:@&=+$#' ; var encoded = encodeURI(uri); document.write(encoded + "<br>" ); |
encodeURIComponent()
- encodeURI() 함수와 비슷한 기능을 함수입니다.
- 다만, 알파벳, 0~9의 숫자, - _ . ! ~ * ' ( )를 제외하고 모든 문자를 이스케이프 처리합니다.
1 2 3 4 | var uri = ';,/?:@&=+$#' ; var encoded = encodeURIComponent(uri); document.write(encoded + "<br>" ); |
1 2 3 4 | var uri = "-_.!~*'()" ; var encoded = encodeURIComponent(uri); document.write(encoded + "<br>" ); |
decodeURI()
- encodeURI() 함수로 인코딩한 URI를 해독합니다.
1 2 3 4 5 6 | var encoded = encodeURI(uri); var decoded = decodeURI(encoded); document.write(encoded + "<br>" ); document.write(decoded + "<br>" ); |
decodeURIComponent()
- encodeURIComponent() 함수로 인코딩한 URI를 해독합니다.
1 2 3 4 5 6 | var encoded = encodeURIComponent(uri); var decoded = decodeURIComponent(encoded); document.write(encoded + "<br>" ); document.write(decoded + "<br>" ); |