This time I will show you how to use JSInheritance and multiple inheritance, what are the precautions when using JS inheritance and multiple inheritance, the following is a practical case, let’s take a look .
Although the latest EC6 already has class-related functions, from the perspective of popularity and the need to read old code, this knowledge must be understood.
The structure of this article:
① Principle and analysis
② Application after simple encapsulation
1. Inheritance
##① Principle and analysis
First picture: Use the idea of this code to realize inheritance, that is:var inherit=function(objBase){ var F=function(){}; //第一步:定义一个函数F F.prototype=objBase; //第二步:将传进来的基类对象(objBase)赋给函数F的原型(F.prototype) return new F(); //第三步:返回一个F对象(已经具备了objBase特征) }
② Application after simple encapsulation
Function.prototype.inherit=function(objBase){ this.prototype=new objBase(); } var Person=function(){ this.name="倩倩"; this.sex="女"; } var Student=function(){ this.id="0712"; } Student.inherit(Person); var student=new Student(); alert(student.name +","+ student.sex +","+ student.id);
2. Multiple inheritance
① Principle and analysis
Multiple inheritance is to transfer members of multiple objects to the current object
var o1={name:"倩倩"} //对象的字面值 var o2={sex:"女"} var She=function(){} She.prototype={}; //先声明 for(var k in o1){ She.prototype[k]=o1[k]; } for(var k in o2){ She.prototype[k]=o2[k]; } var she=new She(); alert(she.name + "," + she.sex);
② Application after simple encapsulation
Function.prototype.inherits=function(){ var arr=arguments; //将接收到的arguments对象传给数组arr this.prototype={}; for(var i=0;i<arr.length;i++){ for(var k in arr[i]){ var obj=arr[i]; this.prototype[k]=obj[k]; } } } var o1={name:"倩倩"} //对象的字面值 var o2={sex:"女"} var She=function(){} She.inherits(o1,o2); var she=new She(); alert(she.name + "," + she.sex);
How to operate express's default log component morgan
What code specifications for JS have been released by Google
The above is the detailed content of How to use JS inheritance and multiple inheritance. For more information, please follow other related articles on the PHP Chinese website!