>  기사  >  웹 프론트엔드  >  서로 다른 유형의 data_javascript 기술 간의 작업을 위한 Javascript 변환 방법

서로 다른 유형의 data_javascript 기술 간의 작업을 위한 Javascript 변환 방법

WBOY
WBOY원래의
2016-05-16 17:00:06938검색

js의 다양한 유형의 기본 데이터는 변환될 수 있습니다. 이 변환은 규칙 기반이며 무작위가 아닙니다. js에는 문자열, 숫자, 부울, null, 정의되지 않은 5가지 기본 데이터 유형이 있으며 그중 처음 세 가지 유형은 일반적으로 계산 또는 비교에 사용됩니다.

기본 데이터 간 변환

其它类型转化数字
原始数据类型 目标类型Number
undefined NaN
null 0
false 0
true 1
数字串 相应的数字
不能转化的字符串 NaN
其它类型转化为字符串
原始数据类型 目标类型String
undefined undefined
null null
false false
true true
数字 数字字符串

다른 유형의 기본 데이터 간의 추가로 데이터를 먼저 숫자로 변환한 후 문자열로 변환합니다(문자열 유형의 데이터가 연산에 포함된 경우)

코드 복사 코드는 다음과 같습니다.

null undefine // 0 NaN

null false // 0 0

1 true // 1 1

1 '1' //'11'; 숫자와 문자열을 더한 결과는 string

1 2 '3' //'33'; 그런 다음 (1 2)의 결과가 '3'에 추가됩니다. 여기서 각 추가 단계는 별도로 분리되어야 합니다. 그렇지 않으면 아래와 같은 결과가 됩니다. >
1 (2 '3') //'123'; 먼저 2 '3'을 계산한 다음 1 '23'

의' null //'snull'

' s' 정의되지 않음 // 'sundefine'

's' true //'true'

1 true 정의되지 않은 's' // 1 1 NaN 's'=2 NaN 's' = NaN 's'=NaN

객체는 덧셈과 뺄셈 연산에 참여합니다

객체는 기본 유형 데이터 작업에 참여하며 먼저 기본 유형으로 변환됩니다. 먼저 valueOf 메서드를 호출합니다. 반환된 값이 기본 유형이 아닌 경우 toString 메서드를 호출합니다. 반환된 값이 기본 유형이 아닌 경우 오류가 발생합니다. 하지만 날짜 데이터는 정반대입니다

코드 복사 코드는 다음과 같습니다.
//관찰을 용이하게 하기 위해 다시 작성합니다. Date 및 valueOf 메소드의 toString 메소드

Date.prototype.toString = function(){
return 1
}

Date.prototype.valueOf = function(){

return 2;
}

var a = new Date,
b = new Date

a b; 결과는 2

// toString 메소드 재작성

Date.prototype.toString = function(){

return {}; >var c = new Date ,
d = new Date;

c d; // toString 메서드를 호출하면 기본 유형이 반환되지 않고 valueOf, 2 2를 호출하면 결과는 4

// 그런 다음 valueOf Method
Date.prototype.valueOf = function(){

return {}
}

var e = new Date,
f = 새 날짜;

e f; // 오류 보고



해당 결과를 얻으려면 위의 예를 Object 또는 다른 유형으로 바꾸세요. 단, valueOf를 먼저 호출한 다음 toString을 호출하세요.
''의 마법효과

데이터 앞에 더하기 기호 ''가 있어 문자열을 숫자로 변환할 수 있습니다

코드 복사

's' 2 // NaN


참고: 이번이 처음입니다. 형식이 좋지 않고 실수도 많습니다. 누구나 기여할 수 있습니다
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.