webveuje/javascript/26原型 原型链.md
2020-12-29 18:18:08 +08:00

965 B
Raw Blame History

原型原型链

创建对象

工厂模式

function obj(name){
    var o = new Object()
    o.name = name
    return o
}

构造函数

function Obj(name){
    this.name = name
}

区别

  • 没有显式的创建对象

  • 属性方法直接赋值给his

  • 没有return

instanceof

instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

原型

每个函数都会有prototype属性 这个属性是一个对象 他上面定义的属性和方法会被对象实例共享

原型对象会自动获得一个 prototype.constructor 属性 指向 构造函数

对象会在浏览器上暴露__proto__ 属性 对象的原型 其他实现中 被隐藏

![JavaScript继承——原型链- Bob2100 - OSCHINA](26原型 原型链.assets/c4625bd915e6929a3747af1ff9f79bdc45e.jpg)

继承

自己找找 理解原型连之后就会明白继承