• js继承模式


     1、传统形式 ----> 原型链
    过多的继承了没用的属性
    Grand.prototype.lastName = "1";
    function Grand(){
    }
    var grand = new Grand();
    Father.prototype = grand;
    function Father() {
    }
    var father = new Father();
    Son.prototype = father;
    function Son() {
    }
    var son = new Son();
     2、借用构造函数
    不能继承借用构造函数的原型
    每次构造函数都要夺多走一个函数
    function Person(name, sex, age) {
         this.name = name;
         this.sex = sex;
         this.age = age;
     }
    
     function Student(name, sex, age, grand) {
         Person.call(this, name, sex, age);
         this.grand = grand;
     }
    
     var student = new Student();
     3、共享原型     //缺点 :一个值改另一个也跟这改
    不能随便改动自己的原型
    Father.prototype.lastName = 'Deng';
    
     function Father() {
    
     }
    
     function Son() {
    
     }
     function inherit(Target , Origin){
         Target.prototype = Origin.prototype
     }
     inherit(Son , Father);
    var son = new Son();
    var father = new Father();
     4、圣杯模式
     function inherit(Target , Origin){
         function F(){}
         F.prototype = Origin.prototype;
         Target.prototype = new F();
         Target.prototype.constructor = Target;
         Target.prototype.uber = Origin.prototype;
     }
     Father.prototype.lastName = 'Deng';
     function Father() {
     }
    
     function Son() {
     }
    
     inherit(Son , Father);
     var son = new Son();
     var father = new Father();
    私有化变量的应用
     function Li(name , wife){
         var preareWife = "xiaozhang";
         this.name = name;
         this.wife = wife;
         this.divorce = function () {
             this.wife = preareWife;
         };
         this.changPrepareWife = function (target) {
             preareWife = target;
         };
         this.sayPrapreWife = function () {
             console.log(preareWife);
         }
     }
     var li = new Li("li" , "xiaoLi")
  • 相关阅读:
    Mina入门:mina版之HelloWorld
    Mina入门:Java NIO基础概念
    Activity与Service进行数据交互
    Android 6.0权限全面详细分析和解决方案
    查看Android系统是User模式还是Eng模式
    修改 Android 5.x 系统默认音量大小
    Android执行程序或脚本的方法
    Android Launcher 3 简单分析
    将Android系统源码导入ecplise
    Scrum三大角色特点
  • 原文地址:https://www.cnblogs.com/punisher999/p/12219194.html
Copyright © 2020-2023  润新知