js 데이터 형식 변환 요약 노트
1. 숫자 xxx * 1.0 을 문자열 xxx + 로 변환 합 니 다. "
둘째, 한 값 에서 다른 유형의 값 을 추출 하고 변환 작업 을 완성 합 니 다.문자열 의 정수 추출: parseInt ();
예: parseInt ("123 zhang") 의 결 과 는 123 이다.
. 문자열 의 부동 소수점 추출: parseFloat ();
예: parseFloat ("0.55zhang") 의 결 과 는 0.55 이다.
. 문자열 로 표 시 된 javascript 코드 를 실행 합 니 다: eval ();
예: zhang = eval ("1 + 1") 의 결과 zhang = 2
. 문자열 로 변환: toString ();
예: zhang = eval ("1 + 1") 의 결과 zhang = 2
셋째, 전체 값 을 한 유형 에서 다른 데이터 형식 으로 변환 하 는 것 입 니 다 (기본 데이터 형식 변환 이 라 고 함).
기본 데이터 형식 변환 의 세 가지 방법:
. 문자 형식 으로 변환: String ();예: String (678) 의 결 과 는 "678" 입 니 다.
. 수치 형 으로 변환: Number ();예: Number ("678") 의 결 과 는 678 이다.
. 불 형 으로 전환: Boolean ();예: Boolean ("aaa") 의 결 과 는 true 입 니 다.
이러한 방법 을 사용 할 때 필요 하 다 면 가능 한 한 매개 변수 와 방법의 집행 에 대해 판단 과 이상 처리 작업 을 한다.
참고 문서 에서 보 았 습 니 다. 다음 과 같은 집행 효율 에 대한 정 리 는 다음 과 같 습 니 다.
IE 에 서 는 첫 번 째 속도 가 가장 빠 르 고, 두 번 째 속도 가 그 다음 이 고, 세 번 째 속도 가 가장 나 쁘 지만, 차 이 는 10 만 번 에 불과 하고, 몇 백 밀리초 차이 일 뿐이다.
FF 에서 첫 번 째 와 두 번 째 는 기본적으로 비슷 하고 세 번 째 가 가장 느리다.
속도 차 이 는 기본적으로 무시 할 수 있다.차이 가 작 아서 요.
그러나 코드 의 간결 성에 서 첫 번 째 뚜렷 한 문법 은 간편 하고 읽 기 쉽다.
그리고 두 번 째 는 어떤 대상 이 toString 방법 이 없어 서 잘못 보고 하 는 문제 가 발생 하지 않 습 니 다.게다가 그 는 시종 가장 빠르다.
그래서 개인 습관 은 첫 번 째 방식 으로 데이터 형식의 전환 을 완성 한다.
그러나 예 를 들 어 '123456 abcd' 가 그 중의 숫자 를 추출 해 야 한다 면 당연히 parsetInt, parseFloat 와 같은 함수 가 필요 하 다.
하지만 때로는 전 환 된 결과 가 NaN 인 경우 도 있 는 등 판단 이 필요 하 다 는 점 에 유의 해 야 한다.
예외 처리 예:
// , eval
function doFunction(str) {
var result = str.replace(new RegExp("\"", "gm"), "");
//
var reg = /\s*[A-Za-z]+\s*\('.+'\)\s*$/;
if (result.match(reg)) // reg.test(result);
try {
result = eval(result);
return result;
}
catch (Error) {
alert(" ! 。 。");
return;
}
else alert(" !");
}
데이터 변환 방법 에 관 한 기타 테스트 예 는 다음 과 같다.
예. 문장.
맺다. 열매.
parseInt('1234')
1234
parseInt('1234.00')
1234
parseInt('1234abc')
1234
parseInt('abc1234')
정의 되 지 않 음 (변환 실패)
parseFloat('1234.123')
1234.123
parseFloat('1234.123a')
1234.123
parseFloat('a1234.123')
NaN
Number('1234.123')
1234.123
Number('1234.123aa')
NaN
String(eval('12+10'))
22
Boolean('0'),Boolean('567'),Boolean(567)
true
Boolean(null),Boolean(false),Boolean(0),Boolean(''),Boolean()
false
this.toString()
[object]
(typeof(this)).toString()
object
eval('12+34')
46
eval('12+34')+''
46
eval('12+34')*1.0
46
typeof(eval('12+34')*1.0)
number
typeof(eval('12+34')+'')
string
주: 테스트 할 때의 환경 은 vs 2008, ie8............................................................................
사용 시 기호 수정 등 이 필요 할 수도 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.