zoukankan      html  css  js  c++  java
  • js继承实例

    第一种方法:对象冒充(临时属性)

    借用临时属性,指向超类,末了删除

    function Person(name,gender){
    	this.name=name;
    	this.gender=gender;
    	this.report=function(){
    		alert(this.name);
    	}
    }
    
    function Employee(name,gender,employeeID){
    	this.method=Person;
    	this.method(name,gender);
    	delete this.method;
    	this.employeeID=employeeID;
    	this.getemployeeID=function(){
    		alert(this.employeeID);
    	}
    	var _this=this;
    	this.report=function(){
    		setInterval(function(){
    			alert(_this.employeeID+":"+_this.name);
    		},1000)
    	}
    	
    }
    var jj=new Employee("jj","男","24");
    jj.report();
    

    第二种方法:对象冒充(call,apply)

    function Person(name,gender){
    	this.name=name;
    	this.gender=gender;
    	this.report=function(){
    		alert(this.name);
    	}
    }
    
    function Employee(name,gender,employeeID){
    	Person.apply(this,new Array(name));     //Person.call(this,name); 
    	this.employeeID=employeeID;
    	this.getemployeeID=function(){
    		alert(this.employeeID);
    	}
    	var _this=this;
    	this.report=function(){
    		setInterval(function(){
    			alert(_this.employeeID+":"+_this.name);
    		},1000)
    	}
    	
    }
    var jj=new Employee("jj","男","24");
    jj.report();
    

    第三种方法:原型链的方式(这种方式实例化子类时不能将参数传给父类)

    最后,总结一下自认为较好的继承实现方式,成员变量采用对象冒充方式,成员方法采用原型链方式,

  • 相关阅读:
    NC20565 生日礼物(双指针)
    NC20566 游戏(二分图)
    NC19833 地斗主(dp+矩阵快速幂)
    CF505C Mr. Kitayuta, the Treasure Hunter(dp)
    HDU5493 Queue(线段树)
    HDU5489 Removed Interval (LIS+分治)
    CF1158C Permutation recovery(线段树优化建图)
    NC20811 蓝魔法师(树形dp)
    NC20857 Xor Path(dfs)
    chrony同步时间
  • 原文地址:https://www.cnblogs.com/zhangwenkan/p/4268424.html
Copyright © 2011-2022 走看看