왜 아래 질문에서 출력이 달라 집니까?함수에서 참조로 빈 개체를 전달합니다.
Q1
function foo(x){
x.x=20;
}
var abc= {};
foo(abc);
console.log(abc);// prints an object with x=20
Q2 둘 사이의 차이는 무엇
function foo(x){
x={
y:10
};
}
var abc= {};
foo(abc);
console.log(abc);// prints an empty object
, 왜 두 번째 경우에 빈 객체를 인쇄 않습니다.
이해하기 commeted 라인 읽기 '. –
함수 매개 변수 ('x')를 새 값으로 덮어 쓰는 것은 함수 외부의 세계에는 영향을 미치지 않습니다. 그렇게하지 않으려면 일반적으로 지점을 만들어야합니다. – JLRishe