溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

es6中構(gòu)造函數(shù)指的是什么

發(fā)布時(shí)間:2022-05-10 14:24:16 來(lái)源:億速云 閱讀:238 作者:zzz 欄目:web開(kāi)發(fā)

今天小編給大家分享一下es6中構(gòu)造函數(shù)指的是什么的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

在es6中,構(gòu)造函數(shù)是一種特殊的函數(shù),主要用來(lái)初始化對(duì)象,即為對(duì)象成員變量附初始值,其函數(shù)名的第一個(gè)字母通常會(huì)大寫(xiě),且總與new一起使用。一個(gè)函數(shù)只有在配合new操作符調(diào)用時(shí)才能當(dāng)作一個(gè)構(gòu)造函數(shù),如果不使用new操作符,則只是一個(gè)普通函數(shù)。

本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。

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

構(gòu)造函數(shù)的函數(shù)名的第一個(gè)字母通常會(huì)大寫(xiě)。

作為構(gòu)造函數(shù)調(diào)用時(shí),必須與 new 操作符配合使用。一個(gè)函數(shù)只有在配合 new 操作符調(diào)用時(shí)才能當(dāng)作一個(gè)構(gòu)造函數(shù),如果不使用 new 操作符,則只是一個(gè)普通函數(shù)。

一個(gè)函數(shù)在當(dāng)作構(gòu)造函數(shù)使用時(shí),能通過(guò) new 操作符創(chuàng)建對(duì)象的實(shí)例,并通過(guò)實(shí)例調(diào)用對(duì)應(yīng)的函數(shù)。

// 構(gòu)造函數(shù)
function Person(name, age) {
    this.name = name;
    this.age = age;
    this.sayName = function () {
        alert(this.name);
    };
}
var person = new Person('kingx', '12');
person.sayName(); // 'kingx'

一個(gè)函數(shù)在當(dāng)作普通函數(shù)使用時(shí),函數(shù)內(nèi)部的 this 會(huì)指向 window。

Person('kingx', '12');
window.sayName(); // 'kingx'

使用構(gòu)造函數(shù)可以在任何時(shí)候創(chuàng)建我們想要的對(duì)象實(shí)例,構(gòu)造函數(shù)在執(zhí)行時(shí)會(huì)執(zhí)行以下 4 步:

  • 通過(guò) new 操作符創(chuàng)建一個(gè)新的對(duì)象,在內(nèi)存中創(chuàng)建一個(gè)新的地址。

  • 為構(gòu)造函數(shù)中的 this 確定指向。

  • 執(zhí)行構(gòu)造函數(shù)代碼,為實(shí)例添加屬性。

  • 返回這個(gè)新創(chuàng)建的對(duì)象。

以前面生成 person 實(shí)例的代碼為例:

  • 第一步:為 person 實(shí)例在內(nèi)存中創(chuàng)建一個(gè)新的地址。

  • 第二步:確定 person 實(shí)例的 this 指向,指向 person 本身。

  • 第三步:為 person 實(shí)例添加 name、age 和 sayName 屬性,其中 sayName 屬性值是一個(gè)函數(shù)。

  • 第四步:返回這個(gè) person 實(shí)例。

注:在構(gòu)造函數(shù)中為 this 添加了一個(gè) sayName 屬性,它的值為一個(gè)函數(shù),這樣在每次創(chuàng)建一個(gè)新的實(shí)例時(shí),都會(huì)給實(shí)例新增一個(gè) sayName 屬性,而且不同實(shí)例中的 sayName 屬性是不同的。

以上就是“es6中構(gòu)造函數(shù)指的是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

es6
AI