JavaScript에서 매개변수는 값으로 전달됩니까, 아니면 참조로 전달됩니까?
P粉394812277
P粉394812277 2023-08-21 15:57:16
0
1
578
<p>기본 유형(숫자, 문자열 등)은 값으로 전달되지만 객체는 둘 다 값으로 전달될 수 있으므로 알 수 없습니다(이 경우 객체를 보유하는 변수는 실제로 객체 참조라고 생각합니다). 참조로 전달할 수도 있습니다(이 경우 변수가 개체 자체를 보유하는 것으로 간주합니다). </p> <p>궁극적으로는 중요하지 않지만 매개변수 전달 규칙을 올바르게 렌더링하는 방법을 알고 싶습니다. 이에 대한 의미가 무엇인지 정의하는 JavaScript 사양에서 발췌한 내용이 있습니까? </p>
P粉394812277
P粉394812277

모든 응답(1)
P粉426906369

JavaScript에서는 재미있습니다. 다음 예를 고려해보세요:

으아악

다음과 같은 출력이 생성됩니다.

으아악
  • 만약obj1根本不是引用,那么改变obj1.item对函数外部的obj1영향이 없다면.
  • 인수가 올바른 참조이면 모든 것이 변경됩니다. num将为100obj2.item将为"changed"。相反,num保持为10obj2.item仍然为"unchanged".

실제로는 전달된 항목이 값으로 전달된다는 것입니다. 그러나 값 자체로 전달된 항목은 참조입니다. 기술적으로는 이를 공유 통화라고 합니다.

실제 적용에서는 매개변수 자체를 변경하는 경우를 의미합니다(예: numobj2),那不会影响传入参数的项。但是,如果更改参数的内部,那将会传播回来(如obj1).

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿