狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

JavaScript進階,人人都能懂的構造函數

admin
2025年7月3日 7:56 本文熱度 232

1. 什么是構造函數?

構造函數︰是一種特殊的函數,主要用來初始化對象,即為對象成員變量賦初始值,它總與new運算符一起使用。我們可以把對象中一些公共的屬性和方法抽取出來,然后封裝到這個函數里面。

語法:

   function 構造函數名(){        this.屬性=值;        this.方法= function() {}  }

注意如下小細節:

1.構造函數名字首字母要大寫

2.我們構造函數不需要return就可以返回結果,如果沒有顯式返回對象,則默認返回新對象。

3.我們調用構造函數必須使用new

如創建一個構造函數:我們只要new Star()調用函數就創建一個對象

// 構造函數function Star(uname, age, sex) {this.name = uname;this.age = age;this.sex = sex;}// 對象var ldh = new Star('劉德華'18,'男'); var zxy = new Star('張學友'19'男'); console.log(zxy.name); console.log(zxy.age);

2. 構造函數和對象的區別

構造函數,如Stars(),抽象了對象的公共部分,封裝到了函數里面,它泛指某一大類( class )

創建對象,如new Stars(),特指某一個,通過new關鍵字創建對象的過程我們也稱為對象實例化 

3. new關鍵字執行過程

1,new構造函數可以在內存中創建了一個空的對象

2. this就會指向剛才創建的空對烏

3.執行構造函數里面的代碼給這個空對象添加屬性和方法

4.返回這個對象

4. 遍歷對象

for (var k in obj) {console.log(k); // k變量輸出得到的是屬性名console.log(obj[k]);// obj[k]得到是屬性值}

5. prototype 屬性

每個構造函數都有一個 prototype 屬性,指向該構造函數創建的對象的原型對象。通過 prototype,我們可以為所有由該構造函數創建的對象共享一些通用的方法或屬性。

function Person(name, age) {  this.name = name;  this.age = age;}
Person.prototype.greet = function() {  console.log(`Hello, my name is ${this.name}.`);};
const person1 = new Person('Alice'25);const person2 = new Person('Bob'30);
person1.greet();  // 輸出: Hello, my name is Alice.person2.greet();  // 輸出: Hello, my name is Bob.

通過將 greet 方法添加到 Person 的 prototype,我們可以讓所有由 Person 構造函數創建的對象共享這個方法,從而節省內存和優化性能。

6. 構造函數的繼承

在 JavaScript 中,繼承是面向對象編程的重要組成部分。通過繼承,子類可以復用父類的屬性和方法。構造函數繼承的常用方法是通過 call 或 apply 來調用父類構造函數。

1. 使用 call 繼承

通過 call 方法,我們可以在子類構造函數中調用父類構造函數,從而繼承父類的屬性。

function Animal(type) {  this.type = type;}
function Dog(name) {  Animal.call(this'dog');  // 調用父類構造函數  this.name = name;}
const dog1 = new Dog('Rex');console.log(dog1.type);  // 輸出: dogconsole.log(dog1.name);  // 輸出: Rex

2. 使用 Object.create 實現原型繼承

為了繼承父類的方法,可以使用 Object.create 將子類的原型設置為父類的實例。

Dog.prototype = Object.create(Animal.prototype);Dog.prototype.constructor = Dog;
Dog.prototype.bark = function() {  console.log('Woof!');};
const dog2 = new Dog('Buddy');dog2.bark();  // 輸出: Woof!

通過這種方式,Dog 類不僅繼承了 Animal 的屬性,還可以擴展自己的方法。

總結

JavaScript 中的構造函數提供了一種強大而靈活的方式來創建對象。通過理解構造函數的工作原理、原型鏈、繼承機制等,開發者可以更加高效地組織代碼,提升應用的可擴展性和維護性。在實際開發中,合理使用構造函數可以幫助你創建模塊化、易于維護的代碼結構,從而提高項目的整體質量。 


閱讀原文:原文鏈接


該文章在 2025/7/3 14:24:28 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved