본문 바로가기

Javascript

자바 스크립트 내장함수

1. 인코딩, 디코딩 관련

함수 이름

설  명

 escape()

 적절한 정도로 인코딩합니다.

 unescape()

 적절한 정도로 디코딩합니다. 

 encodeURI(uri)

 최소한의 문자만 인코딩합니다. 

 decodeURI(encodedURI)

 최소한의 문자만 디코딩합니다. 

 encodeURIComponent(uri)

 알파벳, 숫자를 제외한 문자를 인코딩합니다. 

 decondeURIComponent(encodeURI)

 알파벳, 숫자를 제외한 문자를 디코딩합니다.


파라메터에서 특수문자로 인해 문제가 발생할 경우가 많다.

개인의 취향이겠지만 본인은 encodeURIComponent, decondeURIComponent 를 선호한다.

escape와 escapeURI는 어떤걸 예외로 해야하는지 외워야하기 때문에 귀찮다. ^^

그리고 escapeURI는 예외에 &가 들어가서 문제가 된적도 있다.

그냥 코드가 몇줄 길어진다해도 encodeURIComponent를 사용하겠다.



2. 기타 자바스크립트 내장함수

함수 이름

설  명

 eval(string)

 string을 자바스크립트 코드로 실행합니다. 

 isFinite(number)

 number가 무한한 값인지 확인합니다. 

 isNaN(number)

 number가 NaN인지 확인합니다.

 parseInt(string)

 string을 정수로 바꿉니다.

 parseFloat(string) string을 유리수로 바꿉니다. 


특징을 살펴보면...

eval로 만든 변수는 밖에서도 사용이 가능하다.
eval('var num = 10');
eval('alert("eval 실행");');
alert(num);


자바스크립트에서는 숫자를 0으로 나누면 infinity라는 값이 됩니다. infinity와 NaN를 강제로 만들어 보면

var number1 = (10 / 0);

var number2 = (10 / 'a');

alert(number1 + '/' + number2);


아래처럼 테스트 해보면 되겠다.

var number1 = 10 / 0;

var number2 = 10 / 'a';

alert(isFinite(number1) + '/' + isNaN(number2));


parseInt(string), parseFloat(string)은 java언어와 비슷하나 특이점이 있다.

parseInt('0x273');  => 627

parseInt('273');  => 273

parseInt('0273'); => 187

parseInt('FF', 16); => 255

parseInt('52', 10); => 52

parseInt('11', 8); => 8

parseInt('10', 2); => 2


위처럼 2진수,8진수,10진수,16진수를 사용할 수 있다. 거의 안쓰니 알아만 두자.


'Javascript' 카테고리의 다른 글

배열과 객체  (0) 2012.06.29
form 값을 새창으로 전송하기  (0) 2012.06.27
가변인자 함수  (0) 2012.06.07
자료형의 확인  (0) 2012.06.07
나는 꼽사리다를 웹으로 들어보자.  (0) 2012.02.08