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<len;i++) {
            this[i] = dom[i]
        }
        this.length = len
        this.selector = selector || ''
    }
    
    init.prototype = jQuery.fn
    
    window.$ = jQuery
    
})(window)

2.原型如何体现它的扩展性
结合自己的开发经验,做过的基于原型的插件
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,281评论 0 21
  • 本周操作的郑醇:看的10分钟周期,周四出现有个底分,以为会筑底,向上突破,前日高点3395确实已突破至3398,但...
    清晰818阅读 230评论 0 0
  • 成功,要懂得“大树理论”! 1、成为一棵大树的第一个条件:时间。 没有一棵大树是树苗种下去,马上就变成了大树,一定...
    木易yyH阅读 289评论 0 0
  • 同事说感觉我最近情绪有点down,嗯可能是最近有点懒吧,要是能晒上一天太阳就好了。二傻继续不在安静得有点不像话,收...
    大大陈wendy阅读 90评论 0 1
  • 敬爱的李老师,智慧的教授,亲爱的家人们: 大家好!我是来自长兴南方眼视光中心的杨军微。今天是2018年12...
    杨军微阅读 260评论 0 2