JavaScript는 참조에 의한 전달 언어인가요, 아니면 값에 의한 전달 언어인가요?
P粉450744515
P粉450744515 2023-08-23 18:58:12
0
1
525
<p>기본 유형(숫자, 문자열 등)은 값으로 전달되지만 객체는 모두 값으로 전달될 수 있으므로 알 수 없습니다(이 경우 객체를 보유한다고 생각하는 변수는 실제로 객체에 대한 참조입니다). 그리고 참조에 의한 전달(객체의 변수를 객체 자체를 보유하는 것으로 생각할 때). </p> <p>결국에는 중요하지 않지만 매개변수 전달 규칙을 제시하는 올바른 방법이 무엇인지 알고 싶습니다. 이와 관련된 의미를 정의하는 JavaScript 사양에서 발췌한 내용이 있습니까? </p>
P粉450744515
P粉450744515

모든 응답(1)
P粉231112437

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

으아아아

이 결과는 다음과 같습니다.

으아아아
  • obj1 根本不是引用,则更改 obj1.item 不会对函数外部的 obj1 영향이 있는 경우.
  • 매개변수가 올바른 참조이면 모든 것이 변경됩니다. num 将是 100,而 obj2.item 将读取“changed”。相反,num 保持 10obj2.item 保持“不变”.

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

실제로는 numobj2),则不会影响输入到范围。但是,如果您更改参数的内部,它将向上传播(与 obj1처럼 매개변수 자체를 변경하는 경우를 의미합니다.

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