나는 시나리오 두 쌍을 테스트했다.즉시 실행 기능의 성능
(function(){
var d = document;
//do the same stuff
return //something
})();
결과가 브라우저에서 브라우저까지 버전마다 다르며 테스트에서 테스트까지 다양합니다.
2.) XMLHttpRequest를 통해 얻은 큰 데이터 객체가 있습니다. 이 객체가 여러 가지 방법으로 액세스되지만 부모 함수의 범위에서 하나만 관련이 있다고 가정 해 보겠습니다.
(function(){
//get data object
var data = response;
//change GUI, assign events, do some other stuff
var searchInData = function(id){ //this will be used often
//code
};
//data object won't be accessed any more
//a lot of code
return //something
})();
... 또는 이것을 사용 하시겠습니까?
(function(){
var search = (function(){
var data = response;
//change GUI, assign events, do some other stuff
return function(id){
//code
}
})();
//other stuff
return //something
})();
다시 말해 명확한 결과를 얻을 수 없었습니다. 사용하려는 이유와 이유는 무엇입니까?
가장 단순하고 명확하게 읽을 수있는 코드를 사용하십시오. 같은 코드를 작성하는 방법은 무한히 많습니다. – Jon
차이점은 아마도 최소한이지만 테스트하기 가장 좋은 곳은 http://jsperf.com/ – ManseUK