javascript中,对象的继承是通过原型去继承。
可以这样理解:js中的对象,包含的除了属性和方法,还有一个最基本的原型__proto__对象。这个原型__proto__指向谁,这个对象就继承谁。这是最容易理解对象原型继承的一种方式。
如下面的代码:
var student={
name:'zhangsan',
age:,
run:function(){
return this.name+' is running!';
}
}; var xiaoming={
name:'xiaoming'
}; xiaoming.__proto__=student;
xiaoming这个对象除了拥有自己的name属性,还继承了student对象。可以直接调用student的run方法,如:xiaoming.run();
当然,直接对对象的__proto__赋值不是一种好的方法,可以用Object.create(A)来代替。如下面的代码:
var student={
name:'zhangsan',
age:,
run:function(){
return this.name+' is running!';
}
}; function createStudent(name){
var stu=Object.create(student);
stu.name=name; return stu;
} var xiaoming=createStudent('xiaoming'); document.write(xiaoming.__proto__ === student); //true
以上代码证明使用Object.create(A)来创建一个对象,这个对象的__proto__指向的是A对象。
这只是创建原型继承的众多方法之一。