함수 호출에 의해 생성 된 전역 변수는 기본적으로 빈 문자열을 포함하며 정의되지 않아야합니다.

알자 미

변수가 선언되었지만 초기화되지 않은 경우 콘솔에 undefined를 인쇄합니다. 그러나이 경우 console.log(this.name)Person 함수 내부에있는 경우 함수를 호출 name할 때마다 호출되는 전역 변수를 만들어야합니다. 그러나 전역 변수는 undefined 여야합니다. 빈 문자열을 들고 있습니다. 창 개체도 확인했습니다. 빈 문자열을 보유하는 name이라는 속성이 있습니다. 왜 이런 식으로 작동합니까?

function Person(){
    	
        console.log(this.name)
    
    } 
    
    Person() // should prints undefined ,but prints empty string

여기에 이미지 설명 입력

TJ 크라우 더

이 코드는 전역 변수 ( 일종의 변수 인는 제외)를 생성 하지 않고 하나만 사용Person 하려고합니다 . 그러나 브라우저에서 기본 느슨한 모드로 실행하면 브라우저에 미리 정의 된 전역 이 있기 때문에 문자열 이 표시됩니다. 코드가 실행되는 창의 이름입니다 . (엄격 모드에서 실행 하면 통화 중이므로 오류 발생합니다.)namethisundefined

브라우저에서 실행 하지 않거나 다른 이름 (아직 글로벌이 아닌 이름)으로 실행하면 undefined.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관