prototpye 简单的可以理解为 构造函数的一个属性 增加属性和方法供其实例调用。 构造函数的原型
__protot__是一个对象属性,指向这个对象的原型
function FOO() {} var f = new FOO() console.log(f.__proto__ === FOO.prototype) // true console.log(FOO.__proto__ === Function.prototype) // true console.log(Function.__proto__ === Function.prototype) // true console.log(Object.__proto__ === Function.prototype) // true
举个栗子
var FOO = function () {};
FOO.prototype.name = 'self_foo'
FOO.prototype.get = function () {
console.log('===========')
}
var f = new FOO()
console.log(f.name)
f.get()
可以手动为指定一个构造函数的原型
function FOO() {};
function BOO() {}
FOO.prototype.name = 'foo'
FOO.prototype.get = function () {
console.log('foo_get')
}
BOO.prototype.name = 'boo'
var f = new FOO()
f.get()
console.log(f.name)
console.log('======分割======')
BOO.prototype = new FOO()
var b = new BOO()
console.log(b.name)
b.get()