prototype
1.prototype 返回对象类型原型的引用, 所有对象都从类型的原型对象(prototype)上去继承方法和属性
2.js中方法分为:对象方法、类方法、原型方法
$(function() { var p = new Person({name: "久久" }); p.say(); Person.talk(); p.speak(); }); function Person(option) { this.name = option.name; //对象方法 this.say = function() { console.log("这是我的名字", this.name); } } //类方法 Person.talk = function() { console.log("我在讲话"); } //原型方法 Person.prototype.speak = function() { console.log("我就是不一样的烟火"); }
3.在一个已经存在的构造函数中我们是不能去新增方法或者属性的,拿上面的Person构造器为例,我们可以写 Person.nation = "China", 但是这个是属于类属性,我们用Person构造出来的对象上是没有age这个属性的,所以如果我们想在已存在的构造函数中新增方法或者属性
就需要用到原型对象。
Person.prototype.nation="China", 这样构造出的每一个对象上都会有nation这个属性
4. 原型链
5.扩展:js的四种继承方式