2014-10-31 3 views
1

나는 인생에 대한 코드를 작성 시작하려면 다음을 사용하고 : 경우에올바른 javascript IIFE 템플릿은 무엇입니까?

(function() { 
    /* code goes here */ 
}()); 

나는 다음과 같은 사용되는 참조 : 올바른입니다

(function() { 
    /* code goes here */ 
})(); 

를?

+0

모두 좋아요. 두 번째 것은 조금 더 읽기 쉽습니다. – dfsq

+0

감사합니다. 대답이라면 +1 할 수 있습니다. – Amitabh

답변

0

순전히 미학적 인 취향입니다. Usea 소리를 사용하십시오. Douglas Crockford는 처음으로 대중화하기 위해 열심히 노력했지만, 나는 더 자주 두 번째를 보았습니다.

1

Douglas Crockford (jslint 작성자)에 따르면 다른 개발자가 코드를 읽을 때 첫 번째 오류가 발생하기 쉽습니다. 그러나 모두가 이것을 존중해야하는 것은 아닙니다. 존재하는 것과 왜 존재 하는지를 아는 것이 좋지만 두 가지 모두 괜찮습니다. 이 제조되는 값이 함수가 아닌 함수 자체의 결과 분명되도록

함수 즉시 호출 될

는 전체 호출 식은 괄호 래핑한다.

var collection = (function() { 
    var keys = [], values = []; 

    return { 
     get: function (key) { 
      var at = keys.indexOf(key); 
      if (at >= 0) { 
       return values[at]; 
      } 
     }, 
     set: function (key, value) { 
      var at = keys.indexOf(key); 
      if (at < 0) { 
       at = keys.length; 
      } 
      keys[at] = key; 
      values[at] = value; 
     }, 
     remove: function (key) { 
      var at = keys.indexOf(key); 
      if (at >= 0) { 
       keys.splice(at, 1); 
       values.splice(at, 1); 
      } 
     } 
    }; }()); 
관련 문제