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