當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript之继承模式,命名空间,对象枚举
生活随笔
收集整理的這篇文章主要介紹了
JavaScript之继承模式,命名空间,对象枚举
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
繼承發展史
1-傳統形式 → 原型鏈
- 過多的繼承了沒用的屬性(很好理解,不用代碼演示了)
2-借用構造函數
- ?不能繼承借用構造函數的原型(很好理解,不用代碼演示了)
- 每次構造函數都要奪走一個函數(很好理解,不用代碼演示了)
3-共享原型
- 不能隨便改動自己的原型
4-圣杯模式
//圣杯模式 function innherit(Target, Origin) {function F() {};F.prototype = Origin.prototype;Target.prototype = new F(); } Father.prototype.lastName = 'deng'; function Father() {} function Son() {} inherit (Son, Father); var son = new son(); var father = new Father();\\指向紊亂了 son.__proto__ --> new F().__rpoto__ --> Father.prototype\\改正紊亂 function innherit(Target, Origin) {function F() {};F.prototype = Origin.prototype;Target.prototype = new F();Target.prototype.constructor = Target; //讓繼承類的指向歸位Target.prototype.uber = Origin.prototype; //讓這個類知道它繼承的超類是誰? }雅虎的Y庫提供的一個開源代碼
var inherit = (function () {var F = function () {};return function (Target, Origin) {F.prototype = Origin.prototype;Target.prototype = new F();Target.prototype.constructor = Target;Target.prototype.uber = Origin.prototype;} }())?
總結
以上是生活随笔為你收集整理的JavaScript之继承模式,命名空间,对象枚举的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 299. Bulls
- 下一篇: 英语在线听力翻译器_英语听力翻译器在线翻