2017 - 08 - 14 독서 노트 (면접 문제 학습)

1501 단어
내년 재작년 에 직장 을 옮 길 것 같 아서 재 미 있 는 면접 문 제 를 먼저 볼 수 있 을 것 같 습 니 다.
오늘 제 가 기억 에 남 는 자 바스 크 립 트 면접 문 제 를 봤 습 니 다.
예비 해석
안에 처음에 두 개의 문 제 를 주 었 다.
console.log(a)
a();
var a=3;
function a(){
    console.log(10)
}   
console.log(a)
a=6;
a();  

그리고
alert(a)
a();
var a=3;
var a=function(){
    alert(10)
}   
alert(a)
a=6;
a(); 

자세히 비교 한 결과 이 두 가지 차 이 는 함수 의 명명 방식 이 다 르 기 때문에 이들 의 결과 가 다 를 수 있다 는 것 을 알 수 있다.
지식 포 인 트 는 다음 과 같다.
  • 함수 성명 은 변수 성명 보다 우선 합 니 다.
  • 예비 해석 은 var 와 function 키 워드 를 가 진 사전 성명 이지 만 값 을 부여 하지 않 습 니 다.

  • 다시 한 번 살 펴 보면 주요 한 점 은 함수 성명 이 변수 성명 보다 우선 하고 function a (){} 일 때 전체 성명 이 역할 영역 상단 에 있 습 니 다.
    그래서 마지막 결 과 는...
    line1. 
    function a(){
        console.log(10)
    }
    line2.
    10
    line7.
    3
    line9.
       VM146:9 Uncaught TypeError: a is not a function
    
    line1. 
    undefined
    line2.
       VM146:2 Uncaught TypeError: a is not a function
    

    사실 두 번 째 단락 을 이 어 가 는 것 도 더 이상 탐구 할 필요 가 없다. 뒤의 것 이 잘못 되 지 않 았 다 면 alert (a) 의 결 과 는 함수 자체 이 고 아홉 번 째 줄 은 다시 잘못 되 었 다.이 건 상술 하지 않 겠 습 니 다.
    문장의 2 - 2 에서 다음 과 같은 지식 을 말한다.
  • 변 수 는 역할 영역 에서 만 앞 당 겨 집 니 다
  • 함수 내 에서 매개 변수의 우선 순위 가 변수
  • 보다 높다.
  • 함수 에서 외부 변 수 를 수정 할 때 함수 에 같은 이름 이 있 으 면 외부 변수 가 아 닌 매개 변 수 를 수정 합 니 다.

  • 그 후의 일 부 는 매우 흩 어 져 서 특별히 기록 해 야 할 것 이 없다. 우정 힌트, 시간 이 있 으 면 댓 글 을 보 세 요. 그 안에 많은 것들 과 토론 이 있 습 니 다. 만약 에 상술 한 것 이 당신 에 게 도움 이 된다 고 생각한다 면 댓 글 은 볼 만 한 가치 가 있 습 니 다.

    좋은 웹페이지 즐겨찾기