原型:原型是函数才有的概念
原型跟对象的区别:对象是原型的副本,也有点像Java里超类的意思
对象的增加属性,原型的属性不会增加;原型增加属性,对象会同步更新属性。
原型是js继承的基础
/**
* 每个函数都有一个原型prototype* prototype是一个对象
* @returns {Person}
*/
function Person(){}
function Student(){}Person.prototype.name="hello";
Person.prototype.age="23"; //给属性赋值
Person.prototype["student"]=Student; //给属性赋值
也可以这样:
Person.prototype = {
name:"hello",
age:"23",
student:Student
}
Person.prototype;
};
var p = new Person();
function SupPerson(){}
//通过下面两种方法,将Person的原型赋给了SupPerson
SupPerson.prototype = Person.prototype; //直接赋原型
SupPerson.prototype = p; //对象具有原型的数据
var sp = new SupPerson();
alert(sp.age);