84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
기본 유형(숫자, 문자열 등)은 값으로 전달되지만 객체는 모두 값으로 전달될 수 있으므로 알 수 없습니다(이 경우 객체를 보유하는 변수는 실제로 객체에 대한 참조라고 생각합니다). 참조로 전달합니다(객체의 변수를 객체 자체를 보유하는 것으로 생각할 때).
결국 별 상관은 없지만, 매개변수 전달 규칙을 제시하는 올바른 방법이 무엇인지 알고 싶습니다. 이와 관련된 의미를 정의하는 JavaScript 사양에서 발췌한 내용이 있습니까?
JavaScript는 재미있습니다. 다음 예를 고려해보세요:
이 결과는 다음과 같습니다.
obj1
obj1.item
num
100
obj2.item
“changed”
10
“不变
대신에 전달된 항목이 값으로 전달됩니다. 그러나 값으로 전달된 항목은 그 자체로 참조입니다. 기술적으로는 이를 공유 통화라고 합니다.
실제로는 num 和 obj2),则不会影响输入到范围。但是,如果您更改参数的内部,它将向上传播(与 obj1처럼 매개변수 자체를 변경하는 경우를 의미합니다.
obj2
JavaScript는 재미있습니다. 다음 예를 고려해보세요:
이 결과는 다음과 같습니다.
으아악obj1
根本不是引用,则更改obj1.item
不会对函数外部的obj1
영향이 있는 경우.num
将是100
,而obj2.item
将读取“changed”
。相反,num
保持10
且obj2.item
保持“不变
”.대신에 전달된 항목이 값으로 전달됩니다. 그러나 값으로 전달된 항목은 그 자체로 참조입니다. 기술적으로는 이를 공유 통화라고 합니다.
실제로는
num
和obj2
),则不会影响输入到范围。但是,如果您更改参数的内部,它将向上传播(与obj1
처럼 매개변수 자체를 변경하는 경우를 의미합니다.