最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS中的原型机制:实现构造函数与其实例的继承与扩展

来源:动视网 责编:小采 时间:2020-11-27 19:32:40
文档

JS中的原型机制:实现构造函数与其实例的继承与扩展

JS中的原型机制:实现构造函数与其实例的继承与扩展:JS中的原型原型机制(prototype)在JavaScript中占有重要的地位,是很重要的一种机制,通过[[prototype]],我们可以轻易地实现构造函数与其实例的继承与扩展。原型的概念大致如下图展示,详情可以参考MDN,本文主要讲原型在实际中的应用。 参考jQuery与
推荐度:
导读JS中的原型机制:实现构造函数与其实例的继承与扩展:JS中的原型原型机制(prototype)在JavaScript中占有重要的地位,是很重要的一种机制,通过[[prototype]],我们可以轻易地实现构造函数与其实例的继承与扩展。原型的概念大致如下图展示,详情可以参考MDN,本文主要讲原型在实际中的应用。 参考jQuery与


JS中的原型

原型机制(prototype)在JavaScript中占有重要的地位,是很重要的一种机制,通过[[prototype]],我们可以轻易地实现构造函数与其实例的继承与扩展。

原型的概念大致如下图展示,详情可以参考MDN,本文主要讲原型在实际中的应用。

参考jQuery与zepto中的原型机制,原型的应用大致分为以下几个部分:

  • 定义构造函数

  • 定义生成实例接口

  • 定义初始化函数

  • 提供扩展接口(插件机制)

  • 提供对外接口

  • 绑定原型

  • 创建一个属于自己的库文件(Sojourn.js)

    (function (window) {
     // 定义属于自己的对象
     var Sojourn = {} // 定义构造函数
     function S(dom, selector) {
     var i, len = dom ? dom.length : 0; for (i = 0; i < len; i++) { this[i] = dom[i];
     } this.length = len; this.selector = selector || '';
     } // 定义生成实例接口
     Sojourn.S = function (dom, selector) {
     return new S(dom, selector);
     } // 定义初始化函数
     Sojourn.init = function (selector) {
     var slice = Array.prototype.slice; var dom = slice.call(document.querySelectorAll(selector)); return Sojourn.S(dom, selector);
     } // 提供对外接口
     var $ = Sojourn.init; // 提供扩展接口
     $.fn = {
     constructor: Sojourn.S, // 添加方法
    
     // 定义一个修改元素html内容的方法
     html: function (content) {
     console.log(this); if (content) { this[0].innerHTML = content;
     } else {
     alert('no change');
     } // 返回dom对象以实现链式调用
     return this;
     }
     } // 绑定原型
     Sojourn.S.prototype = S.prototype = $.fn; // 绑定到全局对象
     window.$ = $;
    })(window)

    在HTML中使用Sojourn.js

    <!DOCTYPE html><html lang="en"><head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>prototype-test</title></head><body>
     <p id="p1">prototype test</p>
    
     <script src="./sojourn.js"></script>
     <script>
     // 一秒钟后使用构造的方法改变dom元素
     setTimeout(function () {
     var p1 = $('#p1'); // 链式调用
     p1.html().html('use Sojourn.js'); // 扩展插件
     $.fn.getNodeName = function () {
     alert(this[0].nodeName);
     }
    
     p1.getNodeName();
     }, 1000); </script></body></html>

    相关文章:

    JS原型继承四步曲

    js类式继承与原型式继承详解_javascript技巧

    相关视频:

    视频-JavaScript方向-PHP中文网教程

    文档

    JS中的原型机制:实现构造函数与其实例的继承与扩展

    JS中的原型机制:实现构造函数与其实例的继承与扩展:JS中的原型原型机制(prototype)在JavaScript中占有重要的地位,是很重要的一种机制,通过[[prototype]],我们可以轻易地实现构造函数与其实例的继承与扩展。原型的概念大致如下图展示,详情可以参考MDN,本文主要讲原型在实际中的应用。 参考jQuery与
    推荐度:
    标签: js 例子 实例
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top