#繼承的其他形式之原型繼承
```
var a = {
name: '小明'
};
var b = cloneObj(a);
alert(b.name); // 小明
function cloneObj(obj){
var F = function(){};
F.prototype = obj;
return new F();
}
```

```
var a = {
name: '小明'
};
var b = cloneObj(a);
alert(b.name); // 小明
b.name = '小張';
alert(b.name); // 小張
alert(a.name); // 小明
function cloneObj(obj){
var F = function(){};
F.prototype = obj;
return new F();
}
```

總結:
拷貝繼承:通用型的 適用于有new或無new的時候都可以
類式繼承:適用于new構造函數
原型繼承:適用于無new的對象
- 01 JS面向對象及組件開發
- 02 傳統的過程式編寫選項卡
- 03 用面向對象封裝通用選項卡
- 04 控制多個選項卡自動播放
- 05 用面向對象編寫拖拽
- 06 JS面向對象及組件開發
- 07 hasOwnProperty和constructor的使用
- 08 instanceof運算符的使用
- 09 利用toString做類型判斷
- 10 什么是面向對象的繼承
- 11 面向對象之拷貝繼承
- 12 編寫繼承的拖拽
- 13 繼承的其他形式之類式繼承
- 14 繼承的其他形式之原型繼承
- 15 組件開發是什么
- 16 給拖拽組件配置不同參數
- 17 封裝彈框組件
- 18 使用對象標記已彈出彈框
- 19 復雜組件開發之自定義事件
- 20 原生JS實現自定義事件
- 21 自定義事件實例
- 22 基于JQ的選項卡組件開發