DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> JavaScript設計模式與開發實踐:惰性函數
JavaScript設計模式與開發實踐:惰性函數
編輯:JavaScript基礎知識     

Web開發中,因為浏覽器之間的差異實現差異,一些嗅探工作總是不可避免的,比如我們需要在各個浏覽器中能夠通用事件綁定函數addEvent

//一般寫法
//缺點:當他每次被調用的時候都都會執行裡面的if條件,
var addEvent = function(elem, type, handler){
    if(window.addEventLister){
        return elem.addEventListener(type, handler, false);
    }
    if(window.attachEvent){
        return elem.attachEvent('on'+type, handler);
    }
}

//改進

var addEvent = (function(){
    if(window.addEventListener){
        return function(elem, type, handler){
            elem.addEventListener(type, handler, false);
        }
    }
    if(window.attachEvent){
        return function(elem, type, handler){
            elem.atttachEvent('on'+handler);
        }
    }
})();

//惰性載入方案

var addEvent = function(elem, type, handler){
    if(window.addEventListener){
        addEvent = function(elem, type, handler){
            elem.addEventListener(type, handler, false);
        }
    } else if(window.atttachEvent){
        addEvent = function(elem, type, handler){
            elem.atttachEvent('on'+type, handler);
        }
    }

    addEvent(elem, type, handler);
};

 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved