zoukankan      html  css  js  c++  java
  • javascript的几种继承方式

    javascript继承

    首先在开始之前,需要弄清楚prototype

    Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。

    意思就是每个对象都会有一个prototype属性,这个属性也是一个对象,默认是指向这个对象的 。如果prototype指向改变, prototype对象下面包含的属性和方法就会添加到指向的对象中,实现继承。

     

    function Animal() {
                this.species = "动物";
            }
            function Cat(name, color) {
                this.name = name;
                this.color = color;
            }
    
            Cat.prototype = new Animal();
            Cat.prototype.constructor = Cat;
            var cat = new Cat("cat", "red");
            alert(cat.species);
     Cat.prototype = new Animal();//执行之前,Cat.prototype保存的是Cat的构造函数和它的属性,当指向改变时,Cat.prototype改变为Animal的构造函数和属性。
    Cat.prototype.constructor = Cat;//这句话的意思是把Cat.prototype的构造函数重新复制给它。

    利用空对象保存信息来中转:
    function Animal() {
                
            }
    
            Animal.prototype.species = "动物";
           
            function Cat(name, color) {
                this.name = name;
                this.color = color;
            }
    
            var f = function () { };
            f.prototype = Animal.prototype;
            Cat.prototype = f.prototype;
            Cat.prototype.constructor = Cat;

    yui库实现继承的方法

     function extend(parent,child) {
                var f = function () { };
                f.prototype = parent.prototype;
                child.prototype = new f();
                child.prototype.constructor = child;
                //child.uber = parent.prototype; uber向上 
            }

    拷贝继承

     function extend1(parent,child) {
                var a = parent.prototype;
                var b = child.prototype;
                for (var i in a) {
                    b[i] = a[i];
                }
            }
     
    
    
     

     

     

     

  • 相关阅读:
    BZOJ5212 ZJOI2018历史(LCT)
    BZOJ5127 数据校验
    253. Meeting Rooms II
    311. Sparse Matrix Multiplication
    254. Factor Combinations
    250. Count Univalue Subtrees
    259. 3Sum Smaller
    156. Binary Tree Upside Down
    360. Sort Transformed Array
    348. Design Tic-Tac-Toe
  • 原文地址:https://www.cnblogs.com/wuyuetian/p/5001762.html
Copyright © 2011-2022 走看看