Number(Object) 과 parseFloat(String) 의 차이
ActionScript 3 2009. 10. 14. 10:02 |다음과 같은 코드로 속도 테스트를 해보자
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 타입 변환을 하면 속도가 두배로 빨라지지만 상황에 맞게 쓰자...
'ActionScript 3' 카테고리의 다른 글
비 익스플로러 브라우저 인쇄시 swf가 인쇄되지 않는 문제 3 (0) | 2009.12.24 |
---|---|
비 익스플로러 브라우저 인쇄시 swf가 인쇄되지 않는 문제 이어서... (1) | 2009.12.23 |
2009년 6월 18일 Tweener의 개발종료를 선언하다. (0) | 2009.09.29 |
NativeWindowBoundsEvent 의 beforeBounds 버그?? (0) | 2009.09.17 |
defaultTextFormat 과 new TextFormat() 어떤게 빠를까... (1) | 2009.06.29 |