valueOf 와 toString 방법 연구
1754 단어 html
두 문제 먼저 보 겠 습 니 다.
var date = new Date();
var date_string = date.toString();
var date_value = date.valueOf();
console.log(date == date_string);
console.log(date == date_value );
답안
true,false
제2 문제
var now = new Date(2010,10,1);
console.log(now+1);
답안
IE8 이 뛰 어 나 온 결과 입 니 다.
Mon Nov 1 00:00:00 UTC+0800 20101
부끄러워 하 는 얼굴
이어서 우 리 는 ECMA 262 v5 의 11.6.1 절 을 다시 펼 쳐 서 가호 조작 부호 에 대한 처 리 를 보 았 다.
어느 것 이 피 가산 인지 결정 하 다.
피 가 수 를 GetValue 에 전송 하여 연산 합 니 다.
어느 것 이 피 가산 인지 결정 하 다.
가 수 를 GetValue 에 전송 하여 연산 합 니 다.
2 의 결 과 를 ToPrimitive 에 전달 하여 연산 합 니 다.
4 의 결 과 를 ToPrimitive 에 전달 하여 연산 합 니 다.
5 나 6 의 결과 가 문자열 이 라면
6 을 5 에 직접 두 고 새 문자열 로 되 돌려 줍 니 다.
그렇지 않 으 면 그것들 을 모두 숫자 (ToNumber) 로 바 꾸 어 되 돌려 줍 니 다.
이 내부 에서 ToPrimitive 방법 을 호출 합 니 다. 9.1 절 로 정의 되 어 있 으 며, 기본적으로 Object 대상 만 특수 처리 합 니 다.
형식 결과
Undefined 와 입력 시 일치, 변환 없 음
Null 입력 시 일치, 변환 없 음
Boolean 은 입력 시 와 일치 하 며 변환 되 지 않 습 니 다.
Number 와 입력 시 일치, 변환 없 음
String 은 입력 시 와 일치 하 며 변환 되 지 않 음
Object Object 는 Object 의 기본 값 을 되 돌려 줍 니 다. 내부 에 [[DefaultValue] 라 는 방법 으로 결 정 됩 니 다.
[[DefaultValue]] 알림 정보 에 따라 value Of 방법 이나 toString 방법 을 호출 합 니 다.이 알림 정 보 는 당연히 앞에서 제공 한 것 입 니 다. 우 리 는 11.6.1 절 을 되 돌 렸 습 니 다. Date 대상 을 제외 한 다른 ECMA 대상 은 모두 숫자 로 바 뀌 어야 하고 Date 는 문자열 로 바 뀌 어야 합 니 다.이곳 을 보 니 모든 의심 이 비 워 져 야 겠 지.
wtfjs 에서 어 려 운 문 제 를 언급 하 다.
[] == ![] / / 정 답 은 true, 주의 비 []! = =[]
이상 의 지식 을 가지 고 있 으 면 우 리 는 쉽게 그것 을 해결 할 수 있다.
[] ==> [].valueOf() ==> '';
![] ==> false
'' == false ==> true!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.