2
나는 그것이 즉시 실행되지 않는다는 것을 안다, 그러나 언제?익명 함수는 언제 실행됩니까? 전화 할 이름이 없습니다!
나는 그것이 즉시 실행되지 않는다는 것을 안다, 그러나 언제?익명 함수는 언제 실행됩니까? 전화 할 이름이 없습니다!
익명 함수는 런타임에 임의의 이름에 바인딩하지 않고도 정의 된대로 즉시 실행할 수 있습니다. 자바 스크립트 예제 :
var o = "hello world";
(function(msg) {
alert(msg);
})(o);
이것은 일반적으로 create scopes에 사용됩니다.
예, 그것은 선언 시간에 이름을 가질 필요가 있지만 런타임에서 이름에 바인드 할 수 있습니다.
파이썬에서 예를 들어는 :
def do_it(some_func):
# call some_func
result = some_func()
# do something else
do_it(lambda: 42)
그래서 람다는 "42"를 반환
과 이름이 없습니다. 그러나 함수가do_it
으로 전달되면
some_func
매개 변수 이름에 바인딩됩니다. 그래서 거기에
은이고, 그 다음 호출 할 이름입니다.