摘要:組合使用構造函數模式和原型模式構造函數模式用于定義實例屬性原型模式用于定義方法和共享的屬性優點每個實例都有自己的實例屬性的副本,但同時共享對方法的引用,最大限度的節省內存
組合使用構造函數模式和原型模式
構造函數模式用于定義實例屬性
原型模式用于定義方法和共享的屬性
優點:每個實例都有自己的實例屬性的副本,但同時共享對方法的引用,最大限度的節省內存
function Person(name, age, job) { this.name = name; this.age = age; this.job = job; this.friends = ["Shelby", "Court"]; } Person.prototype = { constructor: Person, sayName: function () { alert(this.name); } }; var person1 = new Person("wwl1", 24, "java"); var person2 = new Person("wwl2", 25, "android"); person1.friends.push("Van"); alert(person1.friends); //"Shelby,Count,Van" alert(person2.friends); //"Shelby,Count" alert(person1.sayName === person2.sayName); //true
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96956.html
摘要:組合使用構造函數模式和原型模式創建自定義類型的最常見方式,就是組合使用構造函數模式與原型模式。也就是說,寄生構造函數模式下,構造函數創建的對象與在構造函數外創建的對象沒有什么不同。 前言 最近在細讀Javascript高級程序設計,對于我而言,中文版,書中很多地方翻譯的差強人意,所以用自己所理解的,嘗試解讀下。如有紕漏或錯誤,會非常感謝您的指出。文中絕大部分內容引用自《JavaScri...
摘要:前言雖然使用構造函數或者使用對象字面量可以很方便的用來創建一個對象,但這種方式有一個明顯的缺點使用一個接口創建多個對象會產生很多冗余的代碼。即調用構造函數所創建的那個對象的原型對象好處是可以讓所有對象的實例共享他的屬性的方法。 前言 雖然使用Object構造函數或者使用對象字面量可以很方便的用來創建一個對象,但這種方式有一個明顯的缺點:使用一個接口創建多個對象會產生很多冗余的代碼。因此...
摘要:構造函數模式這種方法創建自定義的構造函數,從而自定義對象類型的屬性和方法。借用構造函數在子類型構造函數的內部調用超類型構造函數,通過和方法來實現。 JavaScript中沒有類的概念,它不是嚴格意義上的面向對象語言,而是基于對象(Object-based)的編程語言。下面是讀《JavaScript高級程序設計(第三版)》的學習筆記,總結一些常用的創建對象和繼承的方法。 一、創建對象 1...
摘要:構造函數模式用于定義實例屬性,而原型模式用于定義方法和共享的屬性,這種組合模式還支持向構造函數傳遞參數。實例對象都有自己的一份實例屬性的副本,同時又共享對方法的引用,最大限度地節省了內存。而關鍵字則代表實例對象。 相信大家對javascript中的面向對象寫法都不陌生,那還記得有幾種創建對象的寫法嗎?相信大家除了自己常寫的都有點模糊了,那接下來就由我來幫大家回憶回憶吧! 1. 構造函數...
閱讀 2101·2021-11-18 10:02
閱讀 2850·2021-09-04 16:41
閱讀 1142·2019-08-30 15:55
閱讀 1405·2019-08-29 17:27
閱讀 1069·2019-08-29 17:12
閱讀 2535·2019-08-29 15:38
閱讀 2855·2019-08-29 13:02
閱讀 2831·2019-08-29 12:29