JS에서 한 번만 실행되는 함수를 만드는 방법은 무엇입니까? 때때로 이러한 요구 사항이 있습니다. 즉, 함수를 한 번만 실행하고 두 번째 호출에서는 귀중한 값을 반환하지 않거나 오류를 보고하지 않는 것입니다. 다음은 세 가지 작은 데모를 통해 사용된 방법을 개인 메모로 보여줍니다.
1. 폐쇄를 통해 시행됩니다.
<script> window.onload = function () { function once(fn) { var result; return function() { if(fn) { result = fn.apply(this, arguments); fn = null; } return result; }; } var callOnce = once(function() { console.log('javascript'); }); callOnce(); // javascript callOnce(); // null } </script>
2. 첫 번째 호출 후에는 func 함수 값을 비워 둡니다. func= function(){};
<script> var func = function () { alert("正常调用"); func= function(){}; } func(); func(); </script>
3. 값을 설정하고 부울을 사용하여 후속 호출을 제어합니다.
<script> window.onload = function () { var flag = true; function once() { if (flag) { alert("我被调用"); flag = false; } else { return; } } once(); once(); } </script>
더 많은 관련 튜토리얼을 보려면 JavaScript 비디오 튜토리얼