日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript之继承模式,命名空间,对象枚举

發布時間:2023/12/10 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript之继承模式,命名空间,对象枚举 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼承發展史

1-傳統形式 → 原型鏈

  • 過多的繼承了沒用的屬性(很好理解,不用代碼演示了)

2-借用構造函數

  • ?不能繼承借用構造函數的原型(很好理解,不用代碼演示了)
  • 每次構造函數都要奪走一個函數(很好理解,不用代碼演示了)

3-共享原型

  • 不能隨便改動自己的原型
Father.prototype.lastName = 'deng'; function Father() { } function Son() { }var son = new son(); son.prototype = Father.prototype; // 共享的核心代碼,即誰都可以共享Father

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之继承模式,命名空间,对象枚举的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。