이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 9340|회답: 0

[JavaScript] 이 자바스크립트에 대한 자세한 설명

[링크 복사]
게시됨 2020. 9. 28. 오후 7:04:30 | | | |
우선, 함수가 정의될 때 이 점이 결정될 수 없으며, 함수가 실행될 때만 이 점이 누구를 가리키는지 알 수 있습니다. 사실 이 문장의 최종 점은 그것을 부르는 객체입니다(이 문장에는 몇 가지 문제가 있으며, 왜 문제가 생겼는지 나중에 설명할 것입니다. 인터넷 대부분의 글에서는 그렇게 말하지만, 많은 경우 그 이해에 문제가 없지만, 그 이해는 부정확합니다. 이 점을 이해하면 이해할 수 없는 느낌을 받게 될 것입니다), 그래서 이 문제를 깊이 있게 탐구해보겠습니다.

시험 내용은 다음과 같습니다:




이 함수는 기능에 따라 서로 다른 값을 가집니다. 일반적으로 이 함수가 실행되는 환경 객체입니다. 이 사용법은 네 가지 상황에서 자세히 논의됩니다.

사례 1: 순수 함수 호출

이것이 함수의 가장 일반적인 용도이며, 전역 호출이므로 전역 객체를 나타냅니다. 아래 코드를 보세요. 결과는 1입니다.


사례 2: 객체로 호출하는 메서드

함수는 객체의 메서드로도 호출될 수 있으며, 이 경우 부모 객체를 가리킵니다.


사례 3 구성자로서의 콜

이른바 구성자는 이 함수를 통해 새로운 객체를 생성할 수 있습니다. 이 시점에서 이는 이 새로운 대상을 가리킨다.


이 연설의 결과는 1. 현재 이 객체가 전역 객체가 아님을 보여주기 위해 코드를 몇 가지 변경합니다:



실행 결과는 2로, 전역 변수 x의 값이 전혀 변하지 않았음을 나타냅니다.

사례 4: 출동 신청

apply()는 함수의 호출 객체를 변경하는 함수의 메서드입니다. 첫 번째 매개변수는 함수를 호출하는 변경된 객체를 나타냅니다. 따라서 이는 이 첫 번째 매개변수를 가리킵니다.


apply() 매개변수가 비어 있으면 기본적으로 전역 객체가 호출됩니다. 따라서 실행의 결과는 0이 되어 이것이 전역 객체를 가리킨다는 것을 증명합니다.

만약 마지막 코드 줄을 다음과 같이 변경한다면


러닝 결과는 1이 되어 이것이 객체 obj를 나타낸다는 것을 증명합니다.

(끝)


참조:

하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.





이전의:[실제 전투] ASP.NET 코어는 레디스 배포 잠금 플래시 세일을 기반으로 합니다
다음:휴식 패치와 풋 요청의 차이점
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com