84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
위와 같이 g에는 새로운 값을 할당할 수 없습니다. 외부 변수에 임의로 값을 할당할 수 있는 fn 함수를 작성하고 싶습니다
실제 요구사항은 위와 같고, 인스턴스화된 변수를 외부에 할당하고 싶습니다
질문자가 이해하지 못한 개념은 함수 매개변수가 전달되는 방식에 대한 문제입니다.
외부 변수가 함수에 매개변수로 전달되는 경우 두 가지 상황, 즉 기본 데이터 유형과 객체를 이해해야 합니다.
매개변수가 기본 데이터 유형인 경우 함수의 매개변수는 값으로 전달됩니다. 즉, 값이 매개변수에 복사됩니다. 함수가 매개변수 값을 변경하는 방법은 실제 매개변수의 복사본만 변경하는 것입니다. 스크린샷에 표시된 것처럼 온톨로지에 영향을 미치지 않습니다.
파라미터가 객체일 때 실제로는 값 전달인 줄 알지만, 전달되는 것은 객체의 참조 주소 값입니다. 함수는 내부적으로 참조 객체 주소를 실제 데이터 객체로 인덱싱한 다음, 해당 객체의 속성을 변경합니다. 이는 외부 세계에 영향을 미칠 상황입니다.
일반적으로 외부 변수에 값을 할당하려는 경우입니다. 변수를 매개변수로 전달하지 않고 함수 본문에서 직접 처리를 수행할 수도 있습니다.
함수 변수 검색 규칙에 따라 먼저 현재 실행 본문에 해당 변수에 g가 있는지 검색해 보세요. 외부 레이어에서 찾지 못하면 해당 변수가 정의되거나 선언되지 않은 것입니다.
Javascript의 함수 매개변수 전달은 모두 "값 전달"입니다.
좀 더 합리적으로 쓰는 방법은
비합리적인 글쓰기 방식
후자가 불합리한 세 번째 이유는 결합도가 너무 높다는 점입니다.
으아악
이것은 귀하에게 필요한 것을 할 수 있지만 아마도 보편적인 것을 원할 것입니다. 그렇죠?
var g;function fn(값){g = 값;}fn(1);g//1# #
질문자가 이해하지 못한 개념은 함수 매개변수가 전달되는 방식에 대한 문제입니다.
으아악외부 변수가 함수에 매개변수로 전달되는 경우 두 가지 상황, 즉 기본 데이터 유형과 객체를 이해해야 합니다.
매개변수가 기본 데이터 유형인 경우 함수의 매개변수는 값으로 전달됩니다. 즉, 값이 매개변수에 복사됩니다. 함수가 매개변수 값을 변경하는 방법은 실제 매개변수의 복사본만 변경하는 것입니다. 스크린샷에 표시된 것처럼 온톨로지에 영향을 미치지 않습니다.
파라미터가 객체일 때 실제로는 값 전달인 줄 알지만, 전달되는 것은 객체의 참조 주소 값입니다. 함수는 내부적으로 참조 객체 주소를 실제 데이터 객체로 인덱싱한 다음, 해당 객체의 속성을 변경합니다. 이는 외부 세계에 영향을 미칠 상황입니다.
일반적으로 외부 변수에 값을 할당하려는 경우입니다. 변수를 매개변수로 전달하지 않고 함수 본문에서 직접 처리를 수행할 수도 있습니다.
으아악함수 변수 검색 규칙에 따라 먼저 현재 실행 본문에 해당 변수에 g가 있는지 검색해 보세요. 외부 레이어에서 찾지 못하면 해당 변수가 정의되거나 선언되지 않은 것입니다.
Javascript의 함수 매개변수 전달은 모두 "값 전달"입니다.
좀 더 합리적으로 쓰는 방법은
으아악비합리적인 글쓰기 방식
으아악후자가 불합리한 세 번째 이유는 결합도가 너무 높다는 점입니다.
으아악
이것은 귀하에게 필요한 것을 할 수 있지만 아마도 보편적인 것을 원할 것입니다. 그렇죠?
으아악으아악
var g;
function fn(값){
g = 값;
}
fn(1);
g//1# #