## 原型原型链

## 创建对象

工厂模式

```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)

## 继承 

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