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을 유리수로 바꿉니다. |
자바스크립트에서는 숫자를 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 |