2016-07-27 2 views
0

IIFE와 명명 된 함수를 호출하여 호출하도록하고 싶습니다. 나는 다음과 같은 방법으로이 작업을 수행 할 수 있습니다 생각 :Javascript : 나중에 사용하기 위해 IIFE 및 함수 정의 인 함수

var callme = (function callme(msg) { 
    console.log(msg); 
    return callme; 
})('i am called'); 

위의 함수가 출력 때문에 인생의 "내가라고도합니다." 나중에 이것을 다음과 같이 부를 수 있습니다 :

callme('i m called again'); 

이 방식에 대한 의견이 있으십니까? 아니면 다른 방법으로 달성 될 수 있습니까? 의견을 부탁합니다.

+0

함수를 별도로 선언하십시오. 그럼 부르세요. IIFE는 필요하지 않습니다. – zerkms

+0

여기서 무엇을하고 싶니? 그것은 그것에 많은 의존합니다. –

+2

불필요하게 혼란스럽게 보입니다. 나는 간단한'function callme (msg) {} callme ('나는 called')'을 고수 할 것이다. 표준 정의가 당신에게주지 않는 IIFE로 무엇을 얻으려고합니까? – Rhumborl

답변

0

임은 왜 처음에 그것을 실행하고하지 않도록 - 당신이 인생의 목적은 호출의 일부를 캡슐화 할 수있는 인생, 그 그냥 좋은 구식 기능

function callMe(msg){ 
    console.log(msg); 
} 

callme("Hello"); // logs "Hello" 

밤은 설명하고 무엇을 함수 포인터를 반환하십시오.

var callMe = (function(msgPrefix){ 
    return function(msgSuffix){ 
     console.log(msgPrefix + ' ' + msgSuffix); 
    } 
})("Hello"); 

callMe("World")// logs "Hello world"