讓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.設置一個值,通過boolean來控制后面的調用。flag

<script>        
  window.onload = function () {
    var flag = true;
    function once() {
      if (flag) {
        alert("我被調用");
        flag = false;
      } else {
        return;
     }
    }
    once();
    once();
  }
</script>

 

版權聲明: 本文有 ```...襇簞點 發表於 bloghome博客

轉載聲明: 可自由轉載、引用,但需要屬名作者且注明文章出處。

文章鏈接: https://www.bloghome.com.cn/user/yysblog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM