46 lines
965 B
Markdown
46 lines
965 B
Markdown
## 原型原型链
|
||
|
||
## 创建对象
|
||
|
||
工厂模式
|
||
|
||
```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)
|
||
|
||
## 继承
|
||
|
||
自己找找 理解原型连之后就会明白继承 |