让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

posted @ 2018-05-10 16:54  全栈九九六  阅读(12421)  评论(0编辑  收藏  举报