강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của zxzimin7414
zxzimin7414

câu hỏi đã được viết

JavaScript Trung và Cao cấp: Cốt lõi của Engine

8. Tiêu chí gán giá trị tham số, [Thời gian dọn dẹp]

정리 시간 입니다.

Viết

·

198

0

### \[정리시간\]

```javascript
var obj = {};
obj.getTotal = function(one, two, two){
console.log(one + two);
};
obj.getTotal(11, 22, 55);
// 66
```

--- 초기화 단계 ---
1. obj에 빈 오브젝트 할당
2. obj.getTotal(11, 22, 55);를 만나서 함수 호출
3. 실행 콘텍스트 생성하고 실행 콘텍스트 안으로 이동
4. 3개의 컴포넌트 첨부
5. getTotal function 오브젝트의
[\[FormalParameters]]에 파라미터 이름 설정
6. 호출한 함수의 파라미터 값을 실행 콘텍스트에 넘겨줌
- ["one", "two", "two"] 형태로
getTotal function 오브젝트의 [\[FormalParameters]]에
설정되어 있음
- 이 배열을 읽는다.
- 호출한 함수의 파라미터 값에서 index 번째의 값을 구함
7. obj.getTotal 함수의 파라미터 이름과
넘겨받은 파라미터 값을 매핑
- 선언적 환경 레코드에 설정
- {name: value} 형태로 설정
- {one: 11, two: 22, two: 55}로 설정해야 하는데
- two: 55를 매핑할 때, 이미 two 이름이 존재하므로
매핑되어 있던 값인 22가 55로 변경됨
8. 더이상 초기화할 코드가 없음

--- 실행 단계 ---
9. 선언적 환경 레코드에는 {one:11, two: 55} 상태
10. console.log(one + two); 를 실행
11. 선언적 환경 레코드에 one과 two가 있으므로
해당 값을 가져옴
12. 11 + 55 = 66이므로
13. 콘솔에 66을 출력합니다.

javascript

Câu trả lời

Câu hỏi này đang chờ câu trả lời
Hãy là người đầu tiên trả lời!
Hình ảnh hồ sơ của zxzimin7414
zxzimin7414

câu hỏi đã được viết

Đặt câu hỏi