Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 initValidation() 함수 외부에서 validate() 함수를 호출할 수 있는 방법이 있습니까?

<시간/>

initValidation()을 호출할 필요 없이 initValidation() 외부에서 validate() 함수를 호출하려고 합니다.

다음은 문제 코드입니다 -

function initValidation(){
   // irrelevant code here
   function validate(_block){
      // code here
   }
}

JavaScript에서 함수는 객체일 뿐이므로 이를 달성하기 위해 다음과 같이 코드를 조정할 수 없습니다.

function initValidation(){
   // irrelevant code here
   function validate(_block){
      // code here
      console.log(_block);
   }
   this.validate = validate;
}

이 트윅이 하는 일은 이제 우리의 부모 함수가 클래스를 나타내도록 하는 것입니다. 그 중validate는 속성이고 우리는 다음과 같이 액세스할 수 있습니다 -

const v = new initValidation();
v.validate('Hello world');

다음은 출력이 포함된 전체 코드입니다. −

예시

function initValidation(){
   // irrelevant code here
   function validate(_block){
      // code here
      console.log(_block);
   }
   this.validate = validate;
}
const v = new initValidation();
v.validate('Hello world');

출력

콘솔의 출력은 -

Hello world