console.log()는 Google Chrome에서 배열과 객체의 초기 값을 항상 표시합니까?

DDD
풀어 주다: 2024-10-20 11:57:02
원래의
287명이 탐색했습니다.

Does console.log() Always Show the Initial Values of Arrays and Objects in Google Chrome?

객체 및 배열에 대한 Google Chrome의 Console.log() 동작

문제:

Google Chrome에서 중첩된 배열 또는 객체가 console.log()를 사용하여 기록되는 경우, 이후에 배열 또는 객체의 값을 수정하면 로깅 당시의 값이 아닌 업데이트된 값이 표시되는 콘솔 출력이 발생합니다.

해결책:

이 동작은 Google Chrome의 console.log() 기능 버그로 인해 발생합니다.

설명:

Webkit Chrome에서 사용하는 기본 렌더링 엔진인 에는 콘솔에서 기록된 개체 및 배열을 확장해도 로깅 당시 개체 상태가 항상 정확하게 표현되지 않는 알려진 버그가 있습니다.

영향:

이러한 불일치는 특히 콘솔을 사용하여 중간 값을 검사할 때 혼란과 디버깅 어려움을 초래할 수 있습니다.

문제 재현:

문제를 재현하려면 다음 단계를 따르세요.

  1. 웹 페이지에 다음 스크립트를 추가하세요.

    <code class="js">var greetings=['hi','bye'];
    console.log(greetings);
    setTimeout(function(){
        greetings.push('goodbye');
    },3000);</code>
    로그인 후 복사
  2. 열기 새 창의 페이지:

    • 콘솔 이미 열려 있음: console.log() 출력은 배열의 초기 값(예: 항목 2개)을 표시합니다.
    • 콘솔 사용 처음 닫힘: 페이지가 로드된 후 콘솔이 열리면 console.log() 출력에 업데이트된 배열 값(예: 항목 3개)이 표시됩니다.

버그 상태:

Webkit에서는 버그가 수정되었지만 아직 Google Chrome에는 추가되지 않았습니다.

위 내용은 console.log()는 Google Chrome에서 배열과 객체의 초기 값을 항상 표시합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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