위와 같이 g에는 새로운 값을 할당할 수 없습니다. 외부 변수에 임의로 값을 할당할 수 있는 fn 함수를 작성하고 싶습니다
실제 요구사항은 위와 같고, 인스턴스화된 변수를 외부에 할당하고 싶습니다
PHPz2017-05-19 10:41:36
질문자가 이해하지 못한 개념은 함수 매개변수가 전달되는 방식에 대한 문제입니다.
으아악외부 변수가 함수에 매개변수로 전달되는 경우 두 가지 상황, 즉 기본 데이터 유형과 객체를 이해해야 합니다.
매개변수가 기본 데이터 유형인 경우 함수의 매개변수는 값으로 전달됩니다. 즉, 값이 매개변수에 복사됩니다. 함수가 매개변수 값을 변경하는 방법은 실제 매개변수의 복사본만 변경하는 것입니다. 스크린샷에 표시된 것처럼 온톨로지에 영향을 미치지 않습니다.
파라미터가 객체일 때 실제로는 값 전달인 줄 알지만, 전달되는 것은 객체의 참조 주소 값입니다. 함수는 내부적으로 참조 객체 주소를 실제 데이터 객체로 인덱싱한 다음, 해당 객체의 속성을 변경합니다. 이는 외부 세계에 영향을 미칠 상황입니다.
일반적으로 외부 변수에 값을 할당하려는 경우입니다. 변수를 매개변수로 전달하지 않고 함수 본문에서 직접 처리를 수행할 수도 있습니다.
으아악함수 변수 검색 규칙에 따라 먼저 현재 실행 본문에 해당 변수에 g가 있는지 검색해 보세요. 외부 레이어에서 찾지 못하면 해당 변수가 정의되거나 선언되지 않은 것입니다.
習慣沉默2017-05-19 10:41:36
Javascript의 함수 매개변수 전달은 모두 "값 전달"입니다.
좀 더 합리적으로 쓰는 방법은
으아악비합리적인 글쓰기 방식
으아악후자가 불합리한 세 번째 이유는 결합도가 너무 높다는 점입니다.