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 | 31 |
Tags
- 클릭
- ApplicationDomain
- 수학정석
- Chart
- MMOKit
- scaleform3
- flash player 10
- 샌프란시스코
- watch
- flash
- as3
- scaleform
- autodesk
- 플래시
- GDC
- scaleform4
- as2
- CLIK
- 형변환
- as3.0
- 스케일폼
- 강좌
- DataBinding
- Document Class
- flash cs3
- 집합의 연산
- 태그클라우드
- addChild
- 애드온
- KGC 2013
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 타입 변환을 하면 속도가 두배로 빨라지지만 상황에 맞게 쓰자...