일회용 JavaScript 함수 구현
JavaScript에서는 가끔 한 번만 실행할 수 있는 함수를 만드는 것이 바람직할 때가 있습니다. C 및 Java와 같은 언어에서는 정적 변수가 이를 달성할 수 있지만 JavaScript는 더욱 우아한 솔루션을 제공합니다.
클로저 기반 구현
함수를 사용하면 함수가 여러 번 실행되는 것을 효과적으로 방지할 수 있습니다. 다음 코드 조각은 이 접근 방식을 보여줍니다.
<code class="javascript">var something = (function() { var executed = false; return function() { if (!executed) { executed = true; // Execute the desired actions } }; })();</code>
something()을 호출하면 함수가 한 번 호출되고 실행 플래그가 true로 설정됩니다. 함수에 대한 후속 호출은 실행이 이미 true이므로 아무런 효과가 없습니다.
Once() 유틸리티 함수
Underscore 및 Ramda와 같은 많은 JavaScript 라이브러리는 Once() 이 목적을 수행하는 유틸리티 함수입니다. 다음 코드는 Lodash의 Once() 함수를 사용하는 방법을 보여줍니다.
<code class="javascript">import { once } from "lodash"; function something() { // Execute actions } const one_something = once(something); one_something(); // Executes something one_something(); // No effect</code>
Custom Once() 함수
라이브러리를 사용하지 않는 경우 쉽게 자신만의 Once() 함수를 구현하세요.
<code class="javascript">function once(fn, context) { var result; return function() { if (fn) { result = fn.apply(context || this, arguments); fn = null; } return result; }; }</code>
이 함수는 주어진 함수 fn을 래핑하고 한 번만 호출되도록 보장하여 후속 호출에 대해 반환된 값을 캐시합니다.
클로저를 활용하거나 유틸리티 함수를 사용하면 한 번만 실행되는 JavaScript 함수를 생성하여 다양한 사용 사례에 대한 편리하고 다양한 접근 방식을 제공할 수 있습니다.
위 내용은 일회용 JavaScript 기능을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!