zoukankan      html  css  js  c++  java
  • javascript钩子机制

    钩子机制是这样的,大家按照某一规则写一个方法(这个规则在方法名称上),然后页面加载完之前,统一执行所有的钩子函数。

    注意callHooks方法,里面的局部变量s就是钩子函数名称中一定要有的内容。——这是使用钩子的方法!

    // 处理钩子的对象  
    var hook = (function(){  
        return {  
            timer:null,  
            init:function(){  
                this.callHooks('init');  
            },    
            callHooks:function(init){  
                var s = "hook_" + init + '_event',  
                f = [];   
                for(var h in window){  
                    if(h.indexOf(s) != 0) continue;  
                    f.push(h);  
                }     
                this.hooksTimeout(f);  
            },    
            hooksTimeout:function(hooks){  
                if(0 === hooks.length){  
                    if(this.timer) clearTimeout(this.timer);  
                    return;  
                }     
     
                var h = hooks.shift();  
                window[h].apply();  
                window[h] = undefined;  
     
                window.setTimeout(this.hooksTimeout(hooks), 200);  
            }     
        }     
    }());  
     
    // 钩子1  
    var hook_init_event_tpl_html = function(){  
        document.getElementById('test').innerHTML = 'This is HTML!';  
    }  
     
    // 钩子2  
    var hook_init_event_tpl_console = function(){  
        console.log('This is console!');  
    }  
     
    // 最好在页面加载完之前调用,也就是在window.onload()之前  
    hook.init(); 
    

      

    总结

    很多问题,如果大家一起讨论是很有帮助的,在这过程中我们能学到很多东西,我们也可以在这过程中从牛人身上学到很多方法和思维过程,几乎每次的技术讨论会我都有不菲的收获——我不知道这是不是传说中的“头脑风暴”。

  • 相关阅读:
    645. Set Mismatch
    400. Nth Digit
    633. Sum of Square Numbers
    507. Perfect Number
    453. Minimum Moves to Equal Array Elements
    441. Arranging Coins
    Girls and Boys
    二分图
    Gap
    SZU-A22
  • 原文地址:https://www.cnblogs.com/pao8041/p/3922566.html
Copyright © 2011-2022 走看看