亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JavaScript進階,人人都能懂的構造函數(shù)

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

1. 什么是構造函數(shù)?

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

語法:

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

注意如下小細節(jié):

1.構造函數(shù)名字首字母要大寫

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

3.我們調(diào)用構造函數(shù)必須使用new

如創(chuàng)建一個構造函數(shù):我們只要new Star()調(diào)用函數(shù)就創(chuàng)建一個對象

// 構造函數(shù)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. 構造函數(shù)和對象的區(qū)別

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

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

3. new關鍵字執(zhí)行過程

1,new構造函數(shù)可以在內(nèi)存中創(chuàng)建了一個空的對象

2. this就會指向剛才創(chuàng)建的空對烏

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

4.返回這個對象

4. 遍歷對象

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

5. prototype 屬性

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

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 構造函數(shù)創(chuàng)建的對象共享這個方法,從而節(jié)省內(nèi)存和優(yōu)化性能。

6. 構造函數(shù)的繼承

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

1. 使用 call 繼承

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

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

2. 使用 Object.create 實現(xiàn)原型繼承

為了繼承父類的方法,可以使用 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 中的構造函數(shù)提供了一種強大而靈活的方式來創(chuàng)建對象。通過理解構造函數(shù)的工作原理、原型鏈、繼承機制等,開發(fā)者可以更加高效地組織代碼,提升應用的可擴展性和維護性。在實際開發(fā)中,合理使用構造函數(shù)可以幫助你創(chuàng)建模塊化、易于維護的代碼結構,從而提高項目的整體質(zhì)量。 


閱讀原文:原文鏈接


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