변수가 선언되었지만 초기화되지 않은 경우 콘솔에 undefined를 인쇄합니다. 그러나이 경우 console.log(this.name)
Person 함수 내부에있는 경우 함수를 호출 name
할 때마다 호출되는 전역 변수를 만들어야합니다. 그러나 전역 변수는 undefined 여야합니다. 빈 문자열을 들고 있습니다. 창 개체도 확인했습니다. 빈 문자열을 보유하는 name이라는 속성이 있습니다. 왜 이런 식으로 작동합니까?
function Person(){
console.log(this.name)
}
Person() // should prints undefined ,but prints empty string
이 코드는 전역 변수 ( 일종의 변수 인는 제외)를 생성 하지 않고 하나만 사용Person
하려고합니다 . 그러나 브라우저에서 기본 느슨한 모드로 실행하면 브라우저에 미리 정의 된 전역 이 있기 때문에 문자열 이 표시됩니다. 코드가 실행되는 창의 이름입니다 . (엄격 모드에서 실행 하면 통화 중이므로 오류 가 발생합니다.)name
this
undefined
브라우저에서 실행 하지 않거나 다른 이름 (아직 글로벌이 아닌 이름)으로 실행하면 undefined
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다