2013-12-08 3 views
1
function say667() { 
    // Local variable that ends up within closure 
    var num = 666; 
    var sayAlert = function() { alert(num); } 
    num++; 
    return sayAlert; 
} 

say667(); 

무엇이 잘못 되었나요? jsfiddle에서이 코드를 시도했지만 경고 메시지가 출력되지 않았습니다.함수가 내 케이스에서 실행되지 않았습니다.

+0

jsfiddle 링크를 제공 할 수 있습니까? – HackerGK

+0

u는 단지 결과를 확인하고 싶다면 경고 (num)를 쓸 수 있습니다. – Vivekh

+1

함수에서 함수를 반환하는 데 어떤 좋은 이유가없는 것 같습니까? – adeneo

답변

7

참조 만 반환하면됩니다.

say667()(); 

Live test case을 : 당신이 그것을 실행하려는 경우 ()을 사용하여 호출해야합니다.

+0

그건 못생긴 ...하지만 작동합니다. 기묘한. :) – Charlie74

+0

@ Charlie74 예, JS가 때때로 포인터와 참조가있는 추악한면이 있습니다. :) –

+0

나는 그것을 지금 얻었다. 나는 이런 식으로 familier입니다. http://jsfiddle.net/LTHP9/1/ thx !! – user3057928

관련 문제