어제의 "Javascript Definitive Guide" 연구 노트 10번: ECMAScript 5 Enhanced Object Model 기사에서 코드 조각을 디버깅할 때 이상한 현상이 발생했습니다. 이제 소스 코드가 아래에 게시되었습니다.
Google:
http://img.blog.csdn.net/20140529073008296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA0Mzg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/ 중력/중심
이 결과는 맞지만 한 곳만 바꾸면 결과가 달라집니다
왜일까요? 간단하게 변수명만 바꿨습니다
문제는 이름에 있는데 JS에 익숙하지도 않고 이해가 잘 안가서 인터넷에서 검색해봐도 결과가 나오지 않네요. 조언을 구한 선배님도 이름을 바꾸었습니다. 포럼에 질문이 게시되었습니다: http://bbs.csdn.net/topics/390799744?page=1#post-397474060,
이름은 입니다. 창의 이름과 데이터를 설정하거나 반환하는 데 사용되는 창 속성은 문자열입니다. 첫 번째 문장은 function Person(){}이므로 종료되었으므로 다음 코드는 전역 컨텍스트에 있을 수 있습니다. 즉, 위의 출력 var 이름은 Alert(JSON.stringify(name))라고 생각할 수 있습니다. , 그러나 실제로 출력될 수 있는 것은 window.name입니다. 출력 [Object object]의 경우 이 유형은 name 값의 유형입니다.