즉시 호출되는 익명 JavaScript 함수의 용어는 무엇입니까? JavaScript 함수를 호출해야합니다. 나는

팀을위한 JavaScript 스타일 가이드를 작성하여 문서를보다 쉽게 ​​구성하고 제공 할 수 있습니다. 그러나 나는 내 질문이 적용되는 작은 충돌에 부딪쳤다.

즉시 호출되는 익명의 JavaScript 함수를 호출해야합니다. 나는 그것을 단순히 “익명 함수”라고 부를 수 있다는 것을 알고 있지만, 그것이 즉시 호출된다는 사실을 강조하고 싶습니다.

예를 들면 다음과 같습니다.

var MyVariable = (function(data){
  return "another value"
})("some value");

console.log(MyVariable);
// "another value"



답변

그들은 이미 Javascript 세계에서 그 용어를 가지고 있습니다. 이를 IIFE (Immediately Invoked Function Expressions)라고 합니다.

그것은 무엇인가

IIFE 기능에는 이름이 없습니다. 대신, 통역사가 그들을 만나면 한 번 실행됩니다.

var area = function() {
    var width = 3;
    var height = 2;
    return width * height;
}();

최종 괄호 코드 블록의 닫는 중괄호 후 즉시 기능 식을 호출하는 인터프리터를 말한다.

당신이 작성하는 경우 함수 선언 은 추가해야합니다 사업자 그룹화 기능을 주위, 또는 괄호를 바로 호출 할 수있는 표현으로 기능을 처리하는 인터프리터에게 :

var area;
(function() {
    var width = 3;
    var height = 2;
    area = width * height;
}());

그들이 사용될 때

IIFE는 반복적으로 호출되지 않고 작업 내에서 한 번만 실행하면되는 코드에 사용됩니다.

  1. 함수를 호출 할 때 인수로 사용 (값 계산 등)
  2. 속성 값을 객체에 할당합니다.
  3. 이벤트 핸들러 및 리스너에서.
  4. 동일한 변수 이름을 사용하는 두 스크립트 간의 충돌을 방지합니다. 변수 이름이 같은지 확실하지 않은 다른 스크립트에서 코드를 삭제하기 위해 래퍼로 사용할 수 있습니다.

답변