기묘 한 수출 은 사실 기묘 하지 않다.

1308 단어 출력
우선 기묘 한 출력 을 드 리 겠 습 니 다.다음 과 같다.
alert(1<2<3)   // true

alert(3>2>1)   // false

아하, 방향 을 바 꿨 는데 왜 출력 이 달라 졌어?묘 한 모습 이다!
사실 진지 하 게 분석 해 보 세 요. 즉, 정상 적 인 수출 입 니 다. 전혀 신기 하지 않 습 니 다!
우선, 우 리 는 자바 script 에서 undefined, null, 0, ', false 를 알 아야 합 니 다. 진가 로 판단 하 는 것 은 모두 false 입 니 다.
그리고 JS 의 기본 데이터 형식 은 Undefined, Null, Number, String, Boolean 이 있 고 이에 대응 하 며 모든 데이터 형식 은 해당 하 는 false 값 이 있 습 니 다.(의음 으로 나 온 것 으로 문 서 를 찾 지 못 했다)
그 다음 에 JS 에서 관계 조작 부호 (<, >, < =, > =) 를 비교 할 때 양쪽 의 값 을 변환 합 니 다. 규칙 은 다음 과 같 습 니 다.
만약 두 조작 수가 모두 수치 라면 실행 수치 비교;두 작업 수가 모두 문자열 이 라면 두 문자열 의 대응 하 는 문자 인 코딩 값 을 비교 합 니 다.하나의 조작 수가 수치 라면 다른 조작 수 를 하나의 수치 로 바 꾼 다음 에 수치 비 교 를 실행 합 니 다.하나의 조작 수가 대상 이 라면 이 대상 의 value Of () 방법 을 호출 하여 얻 은 결 과 를 앞의 규칙 에 따라 비교 합 니 다.대상 에 valueOf () 방법 이 없 으 면 toString () 방법 을 호출 하여 비교 합 니 다.조작 수가 불 값 이 라면 수치 로 바 꿔 비교 해 보 자.
지금 우 리 는 위의 그 기묘 하고 기묘 하지 않 은 출력 을 분석한다.
3 > 2 는 true 를 출력 합 니 다
그리고 트 루 가 1 로 바 뀌 어 요.
그리고 1 > 1 을 비교 하여 false 를 출력 합 니 다.
분석 이 맞다 면:
3 > 2 > = 1 은 true 로 출력 됩 니 다.
테스트 아래, 완전히 정확 합 니 다.
결론 적 으로 가끔 은 상식 에 맞지 않 는 것 처럼 보 이 는 것 이다. 우리 가 마음 을 가 라 앉 히 고 진지 하 게 생각하면 이것 이 상식 이라는 것 을 알 게 될 것 이다.
세상 만물 도 마찬가지 로 존재 가 합 리 적 이 고 발생 과 필연 이 며 경계 가 도착 하면 자연히 도착한다!

좋은 웹페이지 즐겨찾기