console.log()는 실제로 변경되기 전에 변수 값을 표시합니다.
P粉356361722
P粉356361722 2023-08-22 17:35:57
0
2
373
<p>이 코드를 이해했습니다. A를 복사해서 C라고 부르자. A가 변경되면 C는 동일하게 유지됩니다. </p> <pre class="brush:php;toolbar:false;">var A = 1; var C = A; console.log(C); // 1 ++; console.log(C); // 1</pre> <p>그러나 A가 배열인 경우에는 상황이 다릅니다. C는 변할 뿐만 아니라 우리가 A를 터치하기도 전에 변합니다. </p> <pre class="brush:php;toolbar:false;">var A = [2, 1]; var C = A; console.log(C); // [2, 1] A.정렬(); console.log(C); // [1, 2]</pre> <p>두 번째 예에서 무슨 일이 일어나고 있는지 설명해 주실 수 있나요? </p>
P粉356361722
P粉356361722

모든 응답(2)
P粉578680675

console.log()객체에 대한 참조를 수신하므로 객체가 변경되면 콘솔의 값도 변경됩니다. 이를 방지하려면 다음 방법을 사용할 수 있습니다.

으아악

MDN 경고:

P粉949848849

Pointy의 답변은 좋은 정보를 제공하지만 질문에 대한 정답은 아닙니다.

OP에 설명된 동작은 2010년 3월에 처음 보고된 버그의 일부이며 2012년 8월 Webkit에 대한 수정이 있었지만 이 글을 쓰는 시점에서는 아직 Google Chrome에 통합되지 않았습니다. 동작은 개체 리터럴을 console.log()에 전달할 때 콘솔 디버그 창이 열려 있는지 닫혀 있는지 에 따라 달라집니다.

원래 버그 보고서에서 발췌(https://bugs.webkit.org/show_bug.cgi?id=35801):

Chromium 개발자의 응답:

많은 불만이 이어졌고 결국 버그 수정으로 이어졌습니다.

2012년 8월에 구현된 패치에 대한 변경 로그 설명(http://trac.webkit.org/changeset/125174):

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!