지난 목요일 점심식사 후에 리더님이 자바스크립트 질문을 보내주셨어요. 우리 팀에는 프론트엔드에서 일하는 사람도 있고, 백엔드에서 일하는 사람도 있고, 모바일 웹에서 일하는 사람도 있는데, 그래서 모든 사람은 질문에 대해 서로 다른 이해를 가지고 있으며 QQ 토론 그룹에서 토론합니다. 비록 결과는 매우 기본적이지만 토론을 통해 많은 것을 얻고 공유했습니다. 물론, 개발 경험이 있는 개발자의 입장에서 보면 이는 자바스크립트를 배우기 위한 가장 기본적인 것들이다. 나는 주로 jQuery나 타사 JS 구성 요소를 사용하기 때문에 기본적인 JavaScript 학습에 충분히 주의를 기울이지 않습니다. 제목은 다음과 같습니다. 두 경고의 출력 결과는 무엇입니까?
결과를 적어주세요.
분석은 다음 코드 세그먼트로 작성할 수 있습니다.
코드 복사
코드는 다음과 같습니다.
name= "aaa";
function test(){
Alert(typeof name);//함수 내부를 살펴보고 컨텍스트에 name 선언이 있는지 확인합니다. 선언. 그러나 할당 연산은 고급화할 수 없으므로 유형이 정의되지 않습니다
var name="bbb";//할당 연산
Alert(typeof name);//string}test() ; 그런데 다음 코드 조각을 실행한 결과는 무엇입니까?
코드 복사
코드는 다음과 같습니다.
프로그램 실행 결과는 :string, string입니다. 여기가 혼란스럽고 어떻게 분석하고 설명해야할지 모르겠습니다. 변수 선언을 미리 이해했다고 생각하지만, 학습된 방법을 사용하여 위의 코드 조각을 분석하면 잘못된 결과가 나올 것입니다. 그렇다면 변수 할당은 함수 외부(전역 변수)인지, 함수 내부(지역 변수)인지와 어떤 관련이 있나요?