• 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();
    

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

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

  • 相关阅读:
    框架比较
    框架整理
    bootstrap-table中get请求携带的参数
    0514任务思路
    两台电脑对码云上面的项目进行迭代
    项目问题
    vue 中发送axios请求,解决跨域问题(没有config文件)
    正则表达式(未完待续)
    【转载】深入理解Linux文件系统
    浅谈IO优化
  • 原文地址:https://www.cnblogs.com/zhangwenkan/p/4268424.html
Copyright © 2020-2023  润新知