2016-10-26 2 views
0

closure의 의미는 KCacheGrind에 무엇입니까? 나는 내 기능 중 하나를 가지고 있으며, spl_autoload_register() 함수 spl_autoload_callKCacheGrind에 지적하고있다. 그리고 함수의 시간은 self이고 60+이므로 물론 최적화하고 싶습니다.하지만 어디서부터 시작해야할지 모르겠습니다.KCacheGrind에서 클로저 란 무엇입니까?

closureKCacheGrind 인 무엇입니까?

self 시간을 줄이기 위해 상기 기능을 최적화하려면 무엇이 필요합니까?

+0

"클로저"가 무엇인지 살펴 보셨습니까? – Carcigenicate

+0

여기서'익명 함수를 나타내는 클래스 '입니다. –

+0

그건 사실 폐쇄가 아닙니다. 폐쇄는 변수를 둘러싸는 범위에서 변수를 "저장"하는 함수 (일반적으로 익명)를 만드는 것입니다. 내가 예를 들려 줄 수 있는지 알게 될거야. – Carcigenicate

답변

0

클로저는 로컬 범위 밖에 있지만 전역 변수가 아닌 변수를 사용하는 함수입니다.

function someFunc() { 
    var a = 0; 

    return function() { // This is the closure 
     a++; 
     return a; 
    } 
} 

var f = someFunc(); 

print(f()); // Prints 1 
print(f()); // Prints 2 
print(f()); // Prints 3 

주 최초의 코멘트 :

는 내가 PHP를 작성한 이후 영원히이었다 때문에 언어 무신론자 예를 사용합니다. 반환되는 함수는 a 변수를 통한 클로저입니다.

+0

음, 내 태그에서 볼 수 있듯이 자바 스크립트에 익숙하지 않습니다. PHP입니다. 오, 그래. –

+0

@DumbQuestion 기술적으로 자바 스크립트가 아닙니다. JS의 모습을 잘 알고 있다면 JS에 친숙해야합니다. 그것. 이것은 어떤 언어에 대한 지식으로도 충분할 정도로 일반적이어야합니다. 어떤 부분이 당신을 트립하고 있습니까? – Carcigenicate

+0

예제에서 나는'self '의 시간을 줄이기 위해'spl_autload_register'를 어떻게 최적화 할 수 있는지 꽤 이해하고 있습니까? –

관련 문제