console. log 인쇄 값 이 정확 하지 않 습 니 다.

1622 단어 js
console. log 예상 에 불복
어떤 때 는 · console. log () 인쇄 대상 을 사용 할 때 인쇄 된 값 이 예상 에 부합 되 지 않 을 때 가 있 습 니 다.왜 그 럴 까요?
콘 솔 로그 () 는 비동기 적 인 방법 으로 브 라 우 저 는 처리 할 때 i / o 를 읽 는 동작 을 비교적 뒤쪽 위치 에 두 고 처리 한 다 는 말 이 있 습 니 다.그래서 인쇄 된 값 이 예상 에 맞지 않 을 때 가 있 습 니 다.
또 다른 설 은 대상 을 인쇄 할 때 대상 의 값 이 인 용 된 메모리 의 값 이기 때문에 인쇄 대상 이 있 을 때 대상 의 값 을 인 용 했 을 때 대상 의 값 이 변 했다 는 것 이다.그래서 인쇄 결과 가 예상 과 일치 하지 않 는 경우 가 있 습 니 다.
원인.
이 두 가지 이 유 는 동시에 존재 한다 고 해 야 한다.
두 번 째 부분 에서 비동기 와 성능 1.1 절 비동기 콘 솔 부분 에 언급 되 었 습 니 다.
콘 솔 을 지정 하 는 규범 이나 그룹 이 필요 하지 않 습 니 다. * 방법론 은 자바 스 크 립 트 의 정식 적 인 일부분 이 아니 라 숙주 환경 (이 책의 '유형 과 문법' 부분 을 참고 하 십시오) 에서 자바 스 크 립 트 에 추 가 됩 니 다.따라서 서로 다른 브 라 우 저 와 자 바스 크 립 트 환경 은 자신의 뜻 대로 이 루어 질 수 있 으 며, 때로는 혼동 을 일 으 킬 수 있다.특히 어떤 조건 에서 일부 브 라 우 저의 console. log (..) 는 들 어 오 는 내용 을 즉시 출력 하지 않 습 니 다.이러한 상황 이 발생 한 주요 원인 은 많은 프로그램 (JavaScript 뿐만 아니 라) 에서 I / O 는 매우 저속 한 차단 부분 이기 때문이다.따라서 (페이지 / UI 의 측면 에서 볼 때) 브 라 우 저 는 배경 비동기 처리 콘 솔 I / O 에서 성능 을 향상 시 킬 수 있 으 며, 이때 사용 자 는 이 를 전혀 의식 하지 못 할 수도 있다.
var a = {
    index: 1
};
//   
console.log( a ); // ??
//    
a.index++;

위의 코드 는 문제 의 소 재 를 설명 할 수 있 습 니 다. 인쇄 후 스냅 샷 과 점 을 눌 러 서 대상 을 볼 때 가 다 릅 니 다. 이것 은 대상 을 열 때 데 이 터 는 메모리 더미 에서 값 을 추출 하기 때 문 입 니 다. 이때 이미 하 나 를 추 가 했 기 때문에 표 시 된 값 은 2 입 니 다.
요약: 기본 데이터 형식의 인쇄 는 문제 가 없 지만 대상 에 대한 신뢰성 있 는 방법 은 중단 점 을 통 해 보 는 것 입 니 다.
이 글 참조:https://segmentfault.com/a/119000001506052

좋은 웹페이지 즐겨찾기