Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- KGC 2013
- autodesk
- 클릭
- watch
- 애드온
- as3
- flash
- Chart
- ApplicationDomain
- 강좌
- 샌프란시스코
- 집합의 연산
- 수학정석
- scaleform4
- Document Class
- 형변환
- CLIK
- scaleform3
- flash cs3
- addChild
- DataBinding
- 태그클라우드
- scaleform
- as2
- MMOKit
- GDC
- as3.0
- flash player 10
- 플래시
- 스케일폼
Archives
- Today
- Total
scaleform.minarto.com
Number(Object) 과 parseFloat(String) 의 차이 본문
다음과 같은 코드로 속도 테스트를 해보자
var index:int = - 9999999;
var st:uint = getTimer();
var n:Number;
while(index < 0)
{
n = Number("12345");
index ++;
}
trace(getTimer() - st);
///////////////
1204
var index:int = - 9999999;
var st:uint = getTimer();
var n:Number;
while(index < 0)
{
n = parseFloat("12345");
index ++;
}
trace(getTimer() - st);
//////////////////////
2453
결과를 놓고 보면 Number 가 parseFloat 에 비해 두배 정도 빠른 속도를 보이기에 무조건 Number 타입을 쓰는 것이 좋아 보이지만 다음과 같은 차이가 있다
trace(Number(""))
////////////////
0;
trace(parseFloat(""))
///////////////
NaN;
이유는 Number 함수가(Number class 가 아니다) 다음과 같은 반환값을 가지기 때문이다.
Number
입력 유형/값 | 예제 | 반환값 |
---|---|---|
undefined |
Number(undefined) |
NaN |
null |
Number(null) |
0 |
true |
Number(true) |
1 |
false |
Number(false) |
0 |
NaN |
Number(NaN) |
NaN |
빈 문자열 | Number("") |
0 |
숫자로 변환되는 문자열 | Number("5") |
숫자(예: 5 ) |
숫자로 변환되지 않는 문자열 | Number("5a") |
NaN |
요컨데 결론은.....
Number 함수로 Number 타입 변환을 하면 속도가 두배로 빨라지지만 상황에 맞게 쓰자...