在js的中,要实现面向对象,光有一个对象不行,还要有类似于java中的继承、多态等特性
js中的原型可以理解成一个类,eg:
function Person(){ }
Peroson.prototype;//相当于 Person { json格式}
Person.prototype,name = function(){ }
person.prototype.age = 5;
由于Person.prototype的实质是一个json格式的对象,所以也可以有如下写法:
Person.prototype['sex'] = '男';
function Student ( ) { }
Student.prototype = Person.prototype;//原型继承
var s = new Student();
console.info(s.age);总结如下:
1、在一个对象中有一个属性prototype
2、prototype是一个对象,也可以看做是一个类
3、prototype是function中的一个属性也是一个对象
4、prototype是一个json格式的对象,可以动态的往json中添加东西
5、根据构造器函数可以创建对象,而创建出来的对象就拥有原型中的数据
6、所有的对象都有原型,但是一个对象的原型一旦改变了,构造器就改变了
可以通过Person.prototype = { }来改变原型