prototype

函数的prototype属性

  • 每个函数都会有一个prototype属性,它默认指向一个Object={}空对象(即原型对象)
  • 原型对象中有一个constructor属性,指向函数对象
1
2
3
4
5
6
function fun(){

}
console.log(fun.prototype);
console.log(fun.prototype.constructor===fun); //true

输出如下:

给原型对象添加属性(多数是方法)

  • 构造函数的所有实例对象会自动拥有原型中的属性(多数是方法)
1
2
3
4
5
6
7
8
function Fun(){

}
Fun.prototype.test = function (){
console.log('test')
}
var fun = new Fun();
fun.test(); // test