>웹 프론트엔드 >JS 튜토리얼 >JavaScript는 변수 전달 및 객체 수정을 어떻게 처리합니까?

JavaScript는 변수 전달 및 객체 수정을 어떻게 처리합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-16 05:41:19193검색

How Does JavaScript Handle Variable Passing and Object Modification?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.