摘要:原型鏈上的方法為公有方法,由類創建出來的對象會指向該原型,不會重新創建該方法,但是優先級沒有對象方法高其優點是節省內存原型上的原型鏈上可以拿到共有屬性,拿不到私有屬性與方法我也能拿到數據運行直接
// js實現類 ES5 // 由于函數始對象 所以寫法不是唯一 // function Pf(){}更符合固有思想 // 由于ES6添加了類,所以書寫變得跟方便 var Pf = function(name,age){ // 私有屬性方法外面不能調用,只有對象方法可以操作,從而起到保護數據的作用 // 私有屬性 var secret = "小秘密" // 私有方法 function secretfn(){ console.log("私有方法") console.log("my secret is"+secret) } // 公共屬性方法是每創建一個對象就會創建一個該屬性或方法(耗費一定把內存) // 共有實例屬性 this.name = name this.age = age //共有實例方法 this.say = function(){ console.log("my name is"+this.name,"my age is"+this.age) console.log("可以操作私有屬性與方法") secretfn() } } // 靜態方法 Pf.f1 = function(){ console.log("我是靜態方法,只能用類直接調用,實例對象不能調用") } Pf.prototype = { constructor:Pf,// 這種添加原型方法需要重置制定對象。 // 原型鏈上的方法為公有方法,由類創建出來的對象會指向該原型,不會重新創建該方法,但是優先級沒有對象方法高 // 其優點是節省內存 say:function(){ console.log("原型上的say") // 原型鏈上可以拿到共有屬性,拿不到私有屬性與方法 console.log("我也能拿到數據"+this.name) } } var a = new Pf("ss",22) a.say() Pf.f1() 運行直接node
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/103512.html
摘要:前言見解有限,如有描述不當之處,請幫忙及時指出,如有錯誤,會及時修正。倘若用的是中文搜索。所以最終的實例對象仍然能進行正常的原型鏈回溯,回溯到原本的所有原型方法這樣通過一個巧妙的欺騙技巧,就實現了完美的繼承。 前言 見解有限,如有描述不當之處,請幫忙及時指出,如有錯誤,會及時修正。 20180201更新: 修改用詞描述,如組合寄生式改成寄生組合式,修改多處筆誤(感謝@Yao Ding的...
摘要:基于原型的面向對象在基于原型的語言中如并不存在這種區別它只有對象不論是構造函數,實例,原型本身都是對象。允許動態地向單個的對象或者整個對象集中添加或移除屬性。為了解決以上兩個問題,提供了構造函數創建對象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新認識面向對象 1. JavaScript...
摘要:基于原型的面向對象在基于原型的語言中如并不存在這種區別它只有對象不論是構造函數,實例,原型本身都是對象。允許動態地向單個的對象或者整個對象集中添加或移除屬性。為了解決以上兩個問題,提供了構造函數創建對象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新認識面向對象 1. JavaScript...
摘要:原文地址詳解的類博主博客地址的個人博客從當初的一個彈窗語言,一步步發展成為現在前后端通吃的龐然大物。那么,的類又該怎么定義呢在面向對象編程中,類是對象的模板,定義了同一組對象又稱實例共有的屬性和方法。這個等同于的屬性現已棄用。。 前言 生活有度,人生添壽。 原文地址:詳解javascript的類 博主博客地址:Damonare的個人博客 ??Javascript從當初的一個彈窗語言,一...
閱讀 2580·2021-11-22 09:34
閱讀 948·2021-11-19 11:34
閱讀 2807·2021-10-14 09:42
閱讀 1489·2021-09-22 15:27
閱讀 2391·2021-09-07 09:59
閱讀 1743·2021-08-27 13:13
閱讀 3438·2019-08-30 11:21
閱讀 780·2019-08-29 18:35