JavaScript 유형 변환 방법 및 주의가 필요한 문제 요약(매우 포괄적)_javascript 기술

WBOY
풀어 주다: 2016-05-16 18:16:42
원래의
1034명이 탐색했습니다.

1. 타입 변환 방법 및 주의할 점:
1.
Boolean 타입으로 변환:
(1) 두 개의 NOT 연산을 사용합니다 (!):
!! 5 ==> true
(2)는 부울 생성자를 사용합니다.
new Boolean(5) = = > true
부울 유형으로 변환된 값 false:
0
, 0, -0, NaN, "" (빈 문자열), 정의되지 않음,null
위 값을 제외한 다른 값은 true, 특별히 언급해야 할 것은 :"0",new Object(),function(){}
2.
을 문자열 유형으로 변환:
(
1 ) 빈 문자열 "":123
 
"" = " 123 "
(
2) 문자열 생성자 사용: new String( 123) = "123".

특별한 주의가 필요한 변환:
0 ==> "0"-0 ==> "0"
-Infinity ==>"-Infinity"
Infinity ==>" Infinity"
NaN ==> "NaN"
정의되지 않음 ==> "정의되지 않음"
null ==> "null "
new Object() ==> "[객체 객체]"
function(){} ==> "function(){}"
3.
은 숫자 유형으로 변환됩니다.
(1) 양수( ), 0 빼기 ( -0), 곱하기 1, (*1), 나누기 1 (/ 1), 은 음수입니다(-는 반대 값을 얻습니다). .true = 1

(
2) 생성자 사용 Number();new Number("123") = 123
특별한 주의가 필요한 여러 변환:
""(빈 문자열)
==> 0"010" ==> 10"0x10"(16
베이스
) ==> 16 "-010" ==> -10"-0x10" ==> NaN정의되지 않음 ==> NaN
null ==> 0
true = => 1
false ==> 0
new Object() ==> NaN
new function(){} ==> NaN



2. 암시적 유형 변환:
(1)이진 추가 연산(
): 두 개 중 하나인 경우 피연산자는 String 유형입니다. 두 피연산자는 String 유형으로 변환된 다음 두 피연산자에 문자열 유형이 없으면 연산을 수행하기 전에 두 피연산자를 숫자 유형으로 변환합니다.
예:
"123" 123 = "123123";
123 123 = 246
참 참 = 2
true undefine = NaN
(undefine은 숫자 값 NaN으로 변환되기 때문에 모든 결과는 NaN)
true null = 1(null
을 숫자로 변환하면 0)
"123 " null = "123null" (
포함된 문자열은 문자열 추가로 변환됩니다)
"123" undefine = "123undefine"
(정의되지 않음 도 적용)
1 2 "123" = "3123" (1 2
이 첫 번째 수치 계산)
(2)
이진 뺄셈, 곱셈 및 나눗셈 연산(-*/):숫자형에만 - * / 연산이 있으므로 연산을 수행하기 전에 두 피연산자를 숫자형으로 변환합니다.
"123"-123 = 0
(3)
1위안 양수( ), 음수 연산자 (-):양수 또는 음수 값을 취하는 것은 수치 연산이므로 연산을 수행하기 전에 피연산자를 수치형으로 변환합니다.
"123" = 123
-"123" = -123
"123e" = NaN
"123f" = NaN
"123e-2" = 1.23
(4)
단항 비(!)연산자:비연산자는 변환을 수행해야 합니다. 부울 유형의 숫자입니다.
!"123" = false
!!"123" = true
!123 = false
!!123 = true
(5)
논리 연산자(&&) 및 (||):
&& 또는 ||의 양면으로 판정되며, 판정을 위해 불리언형으로 변환되며,
그런데 테스트 중 재미있는 사실을 발견했습니다.
&&
연산자: 항목이 false인 경우 표현식은 false, 모든 항목이 false가 아닌 경우 표현식은 가장 오른쪽 항목의 원래 값을 반환합니다.
예: 123 && 23 && 45
반환 45, 우리가 상상했던 것 대신에 사실이다.
그러면 123 && 23 == true 그렇다면 거짓이겠죠.
if(123 && 23) 생각해보면 사실23을 불리언형으로 변환해야 합니다. ||
연산자:
|| 테스트 결과도 내가 상상한 것과 다릅니다. 둘 다인 경우 false가 아닌 첫 번째 값을 반환합니다. false, false인 마지막 값(유형 변환 전 값)을 반환합니다. 예:
123 || 23
반품 123
, 상상한 true.false || null 대신 null
을 반환합니다. 상상의 거짓 대신.
3. 타입 변환 기능
1.
parseFloat 부동 소수점 숫자로 변환:
문자 구문 분석 기능은 숫자가 아닌 문자를 만날 때까지 각 문자를 가져옵니다. value , 그런 다음 얻은 값을 반환합니다 .
특별히 필요한 몇 가지 사항 주의:
""
(빈 문자열) ==> NaN
"123e-2" == > 1.23 (
과학계산방식 인식가능)
"010" ==> 10 (8
기본계산식 인식불가)
"0x10"==> 0 (16
베이스가 인식되지 않습니다)
"-010 " ==> -10
null,undefine,true,false,new Object(),function(){} ==> NaN
2.parseInt
부호 있는 정수로 변환 :
parseFloat과 유사하지만 소수점 자리를 반올림합니다( 반올림되지 않고 완전히 폐기된다는 점 참고하세요. Math.floor과 동일하게 처리됩니다), 8진수와 16기본 표현:
123e-2 == > 1"123e-2" ==> 123
"010" == > 8
"0x10" ==> 16
"-010" == > -8
"-0x10" ==> -16
null,undefine, true,false,new Object(),function(){},-Infinity Infinity NaN ==> NaN

3.
세 가지 반올림 함수의 차이점 :
(1) Math.ceil(): " 천장 엄청 선명하죠? 매개변수보다 크거나 같은 가장 작은 정수를 선택하세요. 8.7 == > 9
-8.7==> -8

(2)Math.floor(): "Floor", 는 매개변수보다 작거나 같은 가장 작은 정수를 취합니다.
8.7 ==> 8
-8.7 ==> -9
(3)Math.round(): "라운드 "정수를 가져옵니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿