약한 유형의 Javascript는 프로그래머가 원하는 대로 실제 변수 유형을 필요한 데이터 유형으로 변환하지 않습니다. 예를 들어, 매우 일반적인 실수는 브라우저 스크립트의 양식 컨트롤에서 사용자 입력을 얻는 것입니다. 숫자 변수 및 다른 숫자 변수 양식 컨트롤의 변수 유형은 문자열(시간 제한 문자열 시퀀스에는 숫자가 포함됨)이므로 값이 일부 숫자인 경우에도 이 시도는 해당 문자열을 변수에 추가합니다. 두 번째 변수에서는 문자열 형태로 변환되며, 결국 폼 컨트롤에서 얻은 변수만 첫 번째 문자열 끝에 추가됩니다.
따라서 강제 유형 변환은 여전히 상대적으로 중요합니다. 몇 가지 강제 변환 기능을 살펴보겠습니다.
1. Boolean(value): 값을 Boolean 유형으로 변환합니다.
2. Nnumber(value): 값을 숫자(정수 또는 부동 소수점 숫자)로 변환합니다.
3. 문자열(값): 값을 문자열로 변환합니다.
먼저 Boolean()을 살펴보겠습니다. 변환할 값이 "최소 한 문자로 구성된 문자열", "0이 아닌 숫자" 또는 "객체"인 경우 Boolean()은 true를 반환합니다. 변환할 값은 "빈 문자열", "숫자 0", "정의되지 않음", "null"인 경우 Boolean()은 false를 반환합니다. 다음 코드를 사용하여
를 테스트할 수 있습니다.
以下为引用的内容:
var t1 = Boolean("");//返回false,空字符串 var t2 = Boolean("s");//返回true,非空字符串 var t3 = Boolean(0);//返回false,数字0 var t3 = Boolean(1),t4 = Boolean(-1);//返回true,非0数字 var t5 = Boolean(null),t6 = Boolean(undefined);//返回false var t7 = Boolean(new Object());//返回true,对象
|
인용 내용은 다음과 같습니다.
var t1 = Boolean("");//false, 빈 문자열 반환var t2 = Boolean("s");//참, 비어 있지 않은 문자열 반환
以下为引用的内容:
Number(false) 0 Number(true) 1 Number(undefined) NaN Number(null) 0 Number("1.2") 1.2
Number("12") 12 Number("1.2.3") NaN Number(new Object()) NaN Number(123) 123
|
var t3 = Boolean( 0 );//false 반환, 숫자 0var t3 = Boolean(1),t4 = Boolean(-1);//true 반환, 0이 아닌 숫자var t5 = Boolean(null),t6 = Boolean(정의되지 않음);//false 반환 var t7 = Boolean(new Object());//true 반환, 객체
|
以下为引用的内容:
var t1 = null; var t2 = String(t1);//t2的值 "null" var t3 = t1.toString();//这里会报错 var t4; var t5 = String(t4);//t5的值 "undefined
|
Number()를 다시 살펴보겠습니다. Number()는parseInt()및parseFloat()와 유사합니다. 차이점은 Number()는 전체 값을 변환하는 반면,parseInt()및parseFloat()는 시작 숫자 부분만 변환할 수 있다는 것입니다. 예를 들어 :Number("1.2.3"),Number("123abc")는 NaN을 반환하는 반면,parseInt("1.2.3")는 1을 반환하고,parseInt("123abc")는 123을 반환하고,parseFloat("1.2.3"을 반환합니다. ")는 1.2를 반환합니다.parseFloat("123abc")는 123을 반환합니다. Number()는 먼저 변환할 값을 완전히 변환할 수 있는지 여부를 확인한 다음,parseInt()를 호출할지,parseFloat()를 호출할지 여부를 결정합니다. 다음은 일부 값에 대해 Number()를 호출한 결과를 나열합니다.
인용 내용은 다음과 같습니다.
숫자(false) 0숫자(true) 1숫자(undefine) NaN숫자(null) 0숫자("1.2") 1.2
숫자("12") 12숫자("1.2.3") NaN숫자(new Object()) NaN숫자(123) 123 | TR>
마지막으로 String(): 이는 비교적 간단합니다. 모든 유형의 데이터를 String(false)---"false", String(1)---"1" 과 같은 문자열로 변환할 수 있습니다. toString() 메서드와는 약간 다릅니다.
인용 내용은 다음과 같습니다.
var t1 = null;var t2 = String(t1);//t2의 값은 "null"입니다.var t3 = t1.toString();//여기에 오류가 보고됩니다var t4; var t5 = String(t4);//t5의 값은 "정의되지 않음 |