728x90
반응형

closures 4

JavaScript 클로저에 대한 설명

질문 : JavaScript 클로저 vs. 익명 함수 제 친구와 저는 현재 JS에서 클로저가 무엇이고 무엇이 아닌지에 대해 논의하고 있습니다. 우리는 그것을 정말로 정확하게 이해하기를 원합니다. 이 예를 들어 보겠습니다. 카운팅 루프가 있고 콘솔에 카운터 변수를 지연 인쇄하려고합니다. 따라서 setTimeout 및 클로저 를 사용하여 카운터 변수의 값을 캡처하여 N x 값 N을 인쇄하지 않도록합니다. 폐쇄 또는 폐쇄가 될 것 근처에 아무것도없는 잘못된 해결책 : for(var i = 0; i < 10; i++) { setTimeout(function() { console.log(i); }, 1000); } i 값의 10 배, 즉 10을 인쇄합니다. 그래서 그의 시도는 : for(var i = 0; i <..

Python 람다(lambda)가 유용한 이유

질문 : Python 람다가 유용한 이유는 무엇입니까? 파이썬 람다를 알아 내려고합니다. 람다는 실생활에서 잊혀져 야하는 "흥미로운"언어 항목 중 하나입니까? 필자는 그것이 필요할 수있는 몇 가지 극단적 인 경우가 있다고 확신하지만, 모호함을 감안할 때 향후 릴리스에서 재정의 될 가능성 (다양한 정의에 기반한 내 가정) 및 감소 된 코딩 명확성-그럴 경우 피할 수 있습니까? 이것은 C 유형의 오버플로 (버퍼 오버플로)를 상기시킵니다. 상위 변수를 가리키고 다른 필드 값을 설정하기 위해 오버로딩합니다. 일종의 기술 쇼맨십처럼 느껴지지만 유지 보수 코더는 악몽입니다. 답변 람다 함수 에 대해 이야기하고 있습니까? 처럼 lambda x: x**2 + 2*x - 5 이러한 것들은 실제로 매우 유용합니다. 파이썬..

자바 스크립트에서 자체 실행 기능의 목적

질문 : 자바 스크립트에서 자체 실행 기능의 목적은 무엇입니까? 자바 스크립트에서 언제 이것을 사용하고 싶습니까? (function(){ //Bunch of code... })(); 이것에 : //Bunch of code... 답변 변수 범위 지정에 관한 것입니다. 자체 실행 함수에서 선언 된 변수는 기본적으로 자체 실행 함수 내의 코드에만 사용할 수 있습니다. 이를 통해 JavaScript 코드의 다른 블록에서 변수 이름이 지정되는 방식에 상관없이 코드를 작성할 수 있습니다. 예를 들어 Alexander 의 의견에서 언급했듯이 : (function() { var foo = 3; console.log(foo); })(); console.log(foo); foo 가 정의되지 않았기 때문에 먼저 3 cons..

PHP에서 closure란 무엇이며 왜 "use"식별자를 사용하는 이유

질문 : PHP에서 클로저 란 무엇이며 왜 "사용"식별자를 사용합니까? 일부 PHP 5.3.0 기능을 확인하고 사이트에서 꽤 재미있게 보이는 일부 코드를 실행했습니다. public function getTotal($tax) { $total = 0.00; $callback = /* This line here: */ function ($quantity, $product) use ($tax, &$total) { $pricePerItem = constant(__CLASS__ . "::PRICE_" . strtoupper($product)); $total += ($pricePerItem * $quantity) * ($tax + 1.0); }; array_walk($this->products, $callback);..

728x90
반응형