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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Javascript:原型模式类继承

發布時間:2023/12/9 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Javascript:原型模式类继承 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原型模式 每個函數(準確說不是類、對象)都有一個prototype屬性,這個屬性是一個指針,指向一個對象。 使用原型對象的好處是可以讓所有對象實例共享它包含的屬性和方法。 1.原型對象 (1)當創建一個新函數,就會為該函數創建一個prototype屬性,這個屬性指向函數的原型對象。 (2)默認情況下,所有原型對象都會自動獲得一個constructor(構造函數)屬性,這個屬性包含一個指向 prototype屬性所在函數 ?的指針。 (3)實例的內部包含一個指針,叫[[Prototype]]。不過這個指針對腳本則完全不可見(某些瀏覽器支持一種__proto__來訪問)。 2.代碼讀取屬性順序 首先搜索對象實例本身,沒有則繼續搜索指針指向的原型對象。 例: function Person(){ } Person.prototype.name="Javascript"; var p1 = new Person(); var p2 = new Person(); ? p1.name="lufeng"; alert(p1.name);//"lufeng" alert(p2.name);//"Javascript" 使用delete操作符可以完全刪除實例屬性。 isPrototypeOf():確定對象之間是否存在prototype關系 hasOwnProperty():檢測一個屬性是存在于實例中,還是存在原型中。 Object.keys()、Object.getOwnPropertyNames():接收一個對象作為參數,返回 一個包含所有可枚舉屬性的字符串數組。 來看個很蛋疼的類繼承(某個HTML5游戲框架): inherit : function(childClass, parentClass) { var Constructor = new Function(); Constructor.prototype = parentClass.prototype; childClass.prototype = new Constructor(); childClass.prototype.constructor = childClass; childClass.superclass = parentClass.prototype; if(childClass.prototype.constructor ==?Object.prototype.constructor) { childClass.prototype.constructor = parentClass; } } 感覺代碼看來比較亂,我畫了個圖: 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Javascript:原型模式类继承的全部內容,希望文章能夠幫你解決所遇到的問題。

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