Class13(미리 정의된 전역함수)
2022. 05. 19. 수업내용 정리 #2/2
미리 정의된 전역 함수
-
미리 정의된 전역함수
사용자의 편의를 위해 다양한 기능의 여러 전역 함수를 미리 정의하여 제공합니다.
이러한 전역 함수는 자바스크립트의 어떤 타입의 객체에서도 바로 사용할 수 있습니다.
자바스크립트에서 미리 정의된 전역함수는 아래와 같습니다.
-
eval()
-
isFinite()
-
isNaN()
-
parseFloat()
-
parseInt()
-
decodeURI()
-
decodeURIComponent()
-
encodeURI()
- encodeURIComponent()
- Number()
- String()
-
eval()
문자열로 표현된 자바스크립트 코드를 실행하는 함수입니다.
문법
eval("문자열");
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>eval() 함수</h1> <script> var x = 10, y = 20; var a = eval("x + y"); var b = eval("y * 3"); document.write(a + "<br>" + b); </script> </body> </html>
웹페이지 화면 ▼
-
isFinite()
함수는 전달된 값이 유한한 수인지를 검사하여 그 결과를 반환합니다.
만약 인수로 전달된 값이 숫자가 아니라면, 숫자로 변환하여 검사합니다.
문법
isFinite(검사할값);
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>isFinite() 함수</h1> <script> document.write(isFinite(123) + "<br>"); document.write(isFinite(123e100) + "<br>"); document.write(isFinite(0) + "<br>"); document.write(isFinite(true) + "<br>"); document.write(isFinite(false) + "<br>"); document.write(isFinite(null) + "<br>"); document.write(isFinite("123") + "<br>"); document.write(isFinite("") + "<br>"); document.write(isFinite("문자열") + "<br>"); document.write(isFinite(undefined) + "<br>"); document.write(isFinite(NaN)); </script> </body> </html>
웹페이지 화면 ▼
-
isNaN()
전달된 값이 NaN인지를 검사하여 그 결과를 반환합니다.
만약 인수로 전달된 값이 숫자가 아니라면, 숫자로 강제 변환하여 검사합니다.
전달된 값이 숫자인지 여부확인을 위해 typeof 연산자를 대용할 수도 있습니다.
문법
isNaN(검사할값);
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>isNaN() 함수</h1> <script> document.write(isNaN(123) + "<br>"); document.write(isNaN(123e100) + "<br>"); document.write(isNaN(0) + "<br>"); document.write(isNaN(true) + "<br>"); document.write(isNaN(false) + "<br>"); document.write(isNaN(null) + "<br>"); document.write(isNaN("123") + "<br>"); document.write(isNaN("") + "<br>"); document.write(isNaN("문자열") + "<br>"); document.write(isNaN(undefined) + "<br>"); document.write(isNaN(NaN)); </script> </body> </html>
웹페이지 화면 ▼
★ 숫자로의 강제 변환에 따라 예상치 못한 결과를 얻을 수 있으므로 ECMAScript6 부터는 Number.isNaN() 메소드의 사용이 권장됨.
-
parseFloat()
문자열을 파싱하여 부동 소수점 수 (floating point number)로 반환합니다.
문법
parseFloat("문자열");
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>parseFloat() 함수</h1> <script> document.write(parseFloat("123") + "<br>"); document.write(parseFloat("123.000") + "<br>"); document.write(parseFloat("123.456") + "<br>"); document.write(parseFloat("12 34 56") + "<br>"); document.write(parseFloat(" 123 ") + "<br>"); document.write(parseFloat("123 초콜릿") + "<br>"); document.write(parseFloat("초콜릿 123")); </script> </body> </html>
웹페이지 화면 ▼
-
parseInt()
문자열을 파싱하여 정수로 반환합니다.
문법
parseInt("문자열");
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>parseInt() 함수</h1> <script> document.write(parseInt("123") + "<br>"); document.write(parseInt("123.000") + "<br>"); document.write(parseInt("123.456") + "<br>"); document.write(parseInt("12 34 56") + "<br>"); document.write(parseInt(" 123 ") + "<br>"); document.write(parseInt("123 초콜릿") + "<br>"); document.write(parseInt("초콜릿 123") + "<br><br>"); document.write(parseInt("10", 10) + "<br>"); document.write(parseInt("10", 8) + "<br>"); document.write(parseInt("10", 16) + "<br>"); document.write(parseInt("0x10")); </script> </body> </html>
웹페이지 화면 ▼
함수에 두 번째 인수로 특정 진법을 전단하며, 해당 진법에 맞는 정수로 반환합니다.
또한, 전달받은 문자열의 시작이 ‘0x’로 시작하면, parseInt() 함수는 해당 문자열을 16진수로 인식합니다.
-
encodeURL() 와 encodeURLComponent()
encodeURL() 함수는 URL에서 주소를 표시하는 특수문자를 제외하고, 모든 문자를 이스케이프 시퀀스(escape sequence) 처리하여 부호화합니다.
하지만 encodeURLComponent() 함수는 URL에서 encodeURL() 함수에서 부호화하지 않는 모든 문자까지 포함하여 이스케이프 시퀀스 처리합니다.
문법
encodeURI(부호화할URI); encodeURIComponent(부호화할URI);
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>encodeURI()와 encodeURIComponent() 함수</h1> <script> var uri = "http://google.com/search.php?name=홍길동&city=서울"; var enc1 = encodeURI(uri); var enc2 = encodeURIComponent(uri); document.write(enc1 + "<br>" + enc2); </script> </body> </html>
웹페이지 화면 ▼
-
decodeURL() 와 decodeURLComponent()
decodeURL() 함수는 encodeURL() 함수나 다른 방법으로 만들어진 URI(Uniform Resource identifier)를 해독합니다.
decodeURLComponent() 함수는 encodeURLComponent() 함수나 다른 방법으로 만들어진 URI 컴포넌트를 해독합니다.
문법
decodeURI(해독할URI); decodeURIComponent(해독할URI);
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>decodeURI()와 decodeURIComponent() 함수</h1> <script> var uri = "http://google.com/search.php?name=홍길동&city=서울"; var enc1 = encodeURI(uri); var enc2 = encodeURIComponent(uri); document.write(enc1 + "<br>" + enc2 + "<br><br>"); var dec1 = decodeURI(enc1); var dec2 = decodeURIComponent(enc2); document.write(dec1 + "<br>" + dec2); </script> </body> </html>
웹페이지 화면 ▼
-
Number()
전달받은 객체의 값을 숫자로 반환합니다.
문법
Number(객체);
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>Number() 함수</h1> <script> document.write(Number("123") + "<br>"); document.write(Number("123.000") + "<br>"); document.write(Number("123.456") + "<br>"); document.write(Number("12 34 56") + "<br>"); document.write(Number("123 초콜릿") + "<br><br>"); document.write(Number(true) + "<br>"); document.write(Number(false) + "<br>"); document.write(Number(new Date()) + "<br>"); document.write(Number(null)); </script> </body> </html>
웹페이지 화면 ▼
-
String()
전달받은 객체의 값을 문자열로 반환합니다.
문법
String(객체);
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JavaScript Predefined Function</title> </head> <body> <h1>String() 함수</h1> <script> document.write(String(123) + "<br>"); document.write(String(123.456) + "<br>"); document.write(String("123") + "<br>"); document.write(String(new Date()) + "<br>"); document.write(String(null) + "<br><br>"); document.write(String(true) + "<br>"); document.write(String(false) + "<br>"); document.write(String(Boolean(1)) + "<br>"); document.write(String(Boolean(0))); </script> </body> </html>
웹페이지 화면 ▼
-
댓글남기기