• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > JavaScript继承

JavaScript继承

作者:微笑面对 字体:[增加 减小] 来源:互联网 时间:2017-08-26

微笑面对通过本文主要向大家介绍了javascript,继承等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
 function MyArray() {
      }
 MyArray.prototype = new Array();//替换原型对象,使得MyArray继承了Array
 var arr = new MyArray();
 arr.push(1, 2, 3);//原型的push方法
 console.log(arr);
 console.log(arr.__proto__);
 var arr1 = new MyArray();
 console.log(arr1.__proto__);

2.《JavaScript语言精粹》作者提出了一个方式来实现继承, 经典继承方式

   function jicheng(obj) {
            var o = {};
            o.__proto__ = obj;//替换原型
            return o;
      }
        var o = jicheng({name: "张三"});
        console.log(o);

3.Object.create()方法实现继承,并解决它的兼容问题

 //自定义一个函数解决Object.create()方法
    function create(obj) {
        if (Object.create) {
             return Object.create();
        } else {
           function F() {
               }
          F.prototype = obj;
          return new F();
            }
        }

4.比较low的继承方式,滚入式继承

var person = {
            name:"关羽",
            age:21,
            func:function () {
                console.log("耍大刀");
            }
        };
        var man = {
            name:"赵子龙",
            age:20,
            death:75,
            func:function () {
                console.log("耍龙胆枪");
            }
        };

        //滚入式继承(mix in)
        for(k in man){
            person[k] = man[k];
        }
        person.death = 55;
        console.log(person.death);
        console.log(person.name);//赵子龙

5.call、apply方法实现继承

    function Animal() {
            this.gender = "male";
        }
    function Tiger() {
            Animal.call(this);//tiger的this引用指向了Animal,但它仍然是Tiger的一个对象
            this.name = "老虎";
        }
    var tiger = new Tiger();
    console.log(tiger.gender);//male
    console.log(tiger.name);//老虎

6.寄生继承

  function BigAnimal(child) {
            var clone = Object(child);
            clone.play = function () {
                alert("BigAnimal真会玩");
            };
            return clone;
        }
        var  Tiger = {
            name : "老虎"
        };
        var animal = BigAnimal(Tiger);
        console.log(animal.name);
        animal.play();
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JavaScript瀑布流布局实现代码
  • Javascript实现页面滚动时导航智能定位
  • JavaScript实现打地鼠小游戏
  • javascript编写简易计算器
  • JavaScript实现无穷滚动加载数据
  • JavaScript仿微信打飞机游戏
  • javascript 中关于array的常用方法详解
  • javascript 中的继承实例详解
  • JavaScript函数表达式详解及实例
  • JavaScript中双向数据绑定详解

相关文章

  • 2017-05-11基于jQuery实现滚动刷新效果
  • 2017-05-11jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
  • 2017-05-11bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
  • 2017-05-11jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
  • 2017-05-11浅谈jQuery的bind和unbind事件(绑定和解绑事件)
  • 2017-05-11web打印小结
  • 2017-05-11JS简单实现点击按钮或文字显示遮罩层的方法
  • 2017-05-11微信小程序(三):网络请求
  • 2017-05-11教你用十行node.js代码读取docx的文本
  • 2017-05-11js实现适合新闻类图片的轮播效果

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 可视化工具--D3--案例分析--Histogram Chart
    • 原生js实现返回顶部缓冲效果
    • 微信小程序实现实时圆形进度条的方法示例
    • jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
    • 利用js的闭包原理做对象封装及调用方法
    • JS组件系列之MVVM组件构建自己的Vue组件
    • javascript html5轻松实现拖动功能
    • jQuery中table数据的值拷贝和拆分
    • vuejs2.0运用原生js实现简单的拖拽元素功能示例
    • 微信小程序 页面跳转及数据传递详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有