• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

[정리] 예제 정리해 보았습니다.

21.06.16 20:32 작성 조회수 73

0

  <o:p></o:p>

1. 함수 선언문이 없음으로 넘어감

2. 변수 할당 obj = undefined

3. 코드 실행 obj = {}

obj.getTotal = function(){}, 이때 getTotal function object 생성, [[Scope]] 설정

function object[[FormalParameters]][ ‘one’, ‘two’, ‘two’ ] 생성

obj.getTotal(11, 22, 55)를 통해 getTotal 함수 호출

  <o:p></o:p>

4. getTotal 함수에 실행 콘텍스트 이동 + 파라미터의 값이 실행 콘텍스트로 넘어감

5. 파라미터 값이 선언적 환경 레코드에 매핑됨

{ one : 11 } { one : 11, two : 22 } { one : 11, two : 55 }

two가 이미 존재하기 때문에 세 번째 값이 기존의 two에 할당되 two55가 됨

6. getTotal 안에 함수 선언문, 변수 할당이 없으로 넘어감

7. getTotal에서 코드 실행, log(one + two);

선언적 환경 레코드에서 onetwo의 값을 찾음 66이 출력

  <o:p></o:p>

----------------------------------

문제를 풀다가 모르는 부분이 나와서 질문드립니다.

[[FormalParameters]]에 [ ‘one’, ‘two’, ‘two’ ] 가 생성되는 건가요?

아님 이름이 겹치기 때문에 [ ‘one’, ‘two’ ]가 생성되는 건가요?

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!