webveuje/javascript/26原型 原型链.md

46 lines
965 B
Markdown
Raw Normal View History

2020-12-29 18:18:08 +08:00
## 原型原型链
## 创建对象
工厂模式
```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)
## 继承
自己找找 理解原型连之后就会明白继承