## 原型原型链 ## 创建对象 工厂模式 ```javascript function obj(name){ var o = new Object() o.name = name return o } ``` 构造函数 ```javascript function Obj(name){ this.name = name } ``` ### 区别 - 没有显式的创建对象 - 属性方法直接赋值给his - 没有return ## instanceof **`instanceof`** **运算符**用于检测构造函数的 `prototype` 属性是否出现在某个实例对象的原型链上。 ## 原型 每个函数都会有prototype属性 这个属性是一个对象 他上面定义的属性和方法会被对象实例共享 原型对象会自动获得一个 prototype.constructor 属性 指向 构造函数 对象会在浏览器上暴露__proto__ 属性 对象的原型 其他实现中 被隐藏 ![JavaScript继承(一)——原型链- Bob2100 - OSCHINA](26原型 原型链.assets/c4625bd915e6929a3747af1ff9f79bdc45e.jpg) ## 继承 自己找找 理解原型连之后就会明白继承