第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有什么區(qū)別和更好用:工廠函數(shù)與構(gòu)造函數(shù)。請說明您的方法,以便我學(xué)習(xí)

有什么區(qū)別和更好用:工廠函數(shù)與構(gòu)造函數(shù)。請說明您的方法,以便我學(xué)習(xí)

Smart貓小萌 2023-01-06 15:56:19
我有兩個功能做同樣的事情(我可能是錯的,但在我的新手看來他們做同樣的事情):// Factory Functionfunction createCircle(radius) {    return {        radius,        draw: function() {            console.log('draw');        }    }}const newCircle = createCircle(2);console.log(newCircle);和// Constructor Functionfunction Circle(radius) {    this.radius = radius;    this.draw = function() {        console.log('draw')    }}const another = new Circle(2);console.log(another);這些方法有優(yōu)缺點嗎?只是尋求更有經(jīng)驗的開發(fā)人員的意見。
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經(jīng)驗 獲得超9個贊

在大多數(shù)情況下,我會說構(gòu)造函數(shù)更好。

  • instanceof它允許您使用運算符(即circle instanceof Circle)檢查對象是否為 Circle

  • 它使代碼更具可讀性——當(dāng)有人看到new Circle他們知道一個類正在被實例化時,他們知道它將具有可預(yù)測的行為,而對于第一種情況,他們需要createCircle在知道之前檢查函數(shù)定義(或文檔)關(guān)于此函數(shù)返回的內(nèi)容的任何信息。

  • 您可以進一步優(yōu)化構(gòu)造函數(shù) - 如果您在類的原型(即)上定義draw函數(shù),則每次調(diào)用時都不會聲明它。Circle.prototype.draw = function(){/*etc*/}new Circle

也就是說,如果您要創(chuàng)建一個只有幾個屬性而沒有方法的對象,那么使用第一個示例是完全合理的。


查看完整回答
反對 回復(fù) 2023-01-06
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號