JavaScript高级面试知识点准备(二)

1.说一个原型的实际应用
1.zepto 如何使用原型
(
    function (window) {
        var zepto = {}
        
        function Z(dom, selector) {
            var i, len = dom ? dom.length : 0
            for (i = 0; i< len;i++) {
                this[i] = dom[i];
            }
            this.len = len;
            this.selector = selector || '';
            
        }
        
        zepto.Z = function (dom, selector){
            return new Z(dom, selector)
        }
        
        zepto.init = function (selector) {
            var slice = Array.prototype.slice;
            var dom = slice.call(document.querySelectorAll(selector))
            return zepto.Z(dom, selector)
        }
        
        var $ = function (selector) {
            return zepto.init(selector)
        }
        window.$ = $
        
        $.fn = {
            css: function (key,value){
                alert("css");
            },
            html: function (value) {
                return 'html';
            }
        }
        
        Z.prototype = $.fn
    }
)(window)

2.jquery 如何使用原型
(function (window) {
    var jQuery = function (selector) {
        return new jQuery.fn.init(selector)
    }
    
    jQuery.fn = {
        css: function (key,value) {
            alert("css");
        },
        html: function (value) {
            return "html";
        }
    }
    
    var init = jQuery.fn.init = function (selector) {
        var slice = Array.prototype.slice
        var dom = slice.call(document.querySelectorAll(selector));
        
        var i,len = dom ? dom.length : 0
        for (i = 0; i
2.原型如何体现它的扩展性
结合自己的开发经验,做过的基于原型的插件

你可能感兴趣的:(JavaScript高级面试知识点准备(二))