原型 prototype
- 每个函数都有一个 prototype,它默认指向一个空 Object 对象(即称为:原型对象)
function Fun(){ }
console.log(Fun.prototype) // 默认指向一个空 Object 对象(对象中没有自定义属性)
原型对象添加属性
- 给原型对象添加属性,一般都是方法。
- 其作用是让函数的所有实例对象能够自动拥有原型中的属性(方法)
function Fun(){ }
// 给原型对象添加属性(方法)===>实例对象可以访问
Fun.prototype.test = function() {
console.log('test')
}
// 创建实例对象
var fun = new Fun()
// 使用原型对象中添加的方法
fun.test() // 打印 test
constructor
原型对象中有一个属性 constructor,它指向函数对象
console.log(Fun.prototype.constructor === Fun) // true