2014-03-12 5 views
-2

오래 전 나는 자바 스크립트 도전을 보았지만, 나는 기억하지 못합니다. 그러나 지금 그것을 해결하려고합니다. 지금까지 어떻게 진행해야할지 모르겠다. 내가 필요로하는 전화를 걸 수 있으며, foo 이후Javascript challenge - 8을 반환하는 함수를 호출하는 방법은 무엇입니까?

function foo(a, b){ 
    b(function(){ 
     return a + a; 
    }); 
} 

이 아무것도 반환하지 않습니다

나는이 기능을하고 난 전화 등이 8 반환 할 필요가? 아니면 까다로운 질문일까요?

+2

은 * "8을 반환하는 전화 걸기"*와 정확히 어떤 의미가 있는지에 따라 다릅니다. 원래 질문의 정확한 형태가 중요하다고 생각합니다. –

+0

예. 'foo'가 정의 된 방식으로 아무것도 반환하지 않습니다. –

+0

불행히도 나는 원래의 진술을 기억하지 못합니다. –

답변

0

에 의한 경우 쉽게 당신이 경고 의미 "반환"또는 어딘가에 로그로 :

foo(4, function(fn){ 
    console.log(fn()); 
}); 

심지어 입력 무시 :

foo('bar', function(){ 
    console.log(8); 
}); 
+0

감사의 말씀을 전하면 실제로 답을 줄 수는 없으므로 답변을 수락하겠습니다. –

+0

두 번째 예제는 내가 찾고있는 것이 아니지만. –

0

당신은이 작업을 수행 할 수 있습니다

var r = foo(foo(0, function(){ foo = function(){ return 8 } })); 

이렇게하면 8 인 반환 값인 r이 반환됩니다.

+0

코드를 실행할 때 크롬에서 "TypeError : 정의되지 않은 함수가 아닙니다" –

+0

@migueljimenezz [테스트 할 때] (http://jsbin.com/viwuj/2/edit). –