JavaScript의 값별 전달 및 참조별 전달 이해
JavaScript의 함수에 값이나 개체를 전달할 때 이것이 중요합니다. 참조에 의한 전달과 값에 의한 전달의 개념을 이해합니다. 즉, 기본 요소(예: 숫자, 문자열, 부울)는 값으로 전달됩니다. 즉, 함수 내에서 변경된 사항은 함수 외부의 원래 값에 영향을 주지 않습니다.
그러나 객체는 "복사본"으로 전달됩니다. 참고자료." 즉, 객체가 함수에 전달되면 원래 객체에 대한 새 참조가 생성됩니다. 함수 내에서 객체의 내용을 변경하면 원래 객체에 영향을 미칩니다.
사례 연구: 직사각형 함수 예
제공된 예에는 직사각형 함수가 있습니다. 이는 구성 개체와 선택적인 my 개체를 사용합니다. 내부적으로 인수에 존재하지 않는 경우 로컬 my 객체를 정의합니다. 이 내 개체는 직사각형의 길이와 너비를 저장합니다.
사각형 함수 내의 면적 함수는 my 개체에 저장된 길이와 너비를 사용하여 직사각형의 면적을 계산합니다.
우리가 직사각형 함수를 호출하고 반환된 객체를 myRec에 할당하면 my 객체에 대한 참조 복사본이 생성됩니다. 직사각형 함수 내에서 my의 내용에 대한 모든 변경 사항(예: my.l 및 my.w 업데이트)은 동일한 기본 개체를 참조하기 때문에 my와 myRec 모두에 반영됩니다.
그러나 우리는 사각형 함수 내에서 my에 대한 참조를 덮어쓰려고 시도하지만 호출자(myRec)가 보유한 참조 복사본에는 영향을 미치지 않습니다. 이는 참조가 값으로 전달되기 때문입니다. 즉, 함수 내에서 my에 새 객체를 할당하면 호출자가 보유한 참조가 아닌 로컬 참조만 수정됩니다.
위 내용은 JavaScript의 값별 전달과 참조별 전달: 함수 인수에 어떤 영향을 미칩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!