JavaScript에서 참조로 변수 전달
JavaScript에는 다른 프로그래밍 언어에 있는 "참조로 전달"이라는 개념이 없습니다. 그러나 값으로 객체를 전달할 수 있으므로 함수가 내용을 수정할 수 있습니다.
값으로 객체 전달
함수 내에서 객체의 내용을 수정하려면 객체를 전달합니다. 자신을 매개변수로 사용:
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); console.log(myObj.foo); // "goodbye"
수정 배열
배열의 요소를 수정하려면 숫자 인덱스를 반복하고 각 셀을 개별적으로 업데이트하세요.
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) arr[i] = arr[i] + 1;
JavaScript의 "참조로 전달"
JavaScript에는 진정한 "참조 전달" 기능이 부족합니다. 이는 C와 같은 언어와 달리 함수 호출 내에서 원래 변수의 값을 수정할 수 없다는 것을 의미합니다.
아래 예에서 x와 y의 값은 값으로 전달되고 교환될 수 없기 때문에 교환에 실패합니다. 함수 내에서 직접 수정:
function swap(a, b) { var tmp = a; a = b; b = tmp; } var x = 1, y = 2; swap(x, y); console.log("x is " + x + ", y is " + y); // "x is 1, y is 2"
결론
JavaScript 전통적인 의미에서 "참조에 의한 전달"을 제공하지 않으며 객체를 전달하고 해당 내용을 조작하면 유사한 기능이 허용됩니다. 이 기술은 개체 참조 자체가 아니라 개체 내용을 수정한다는 점에 유의하세요.
위 내용은 JavaScript는 변수 전달 및 객체 수정을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!