摘要:創(chuàng)建對(duì)象的最常用方法是使用花括號(hào),并使用點(diǎn)表示法向?qū)ο筇砑訉傩院头椒?。?dāng)然,下一步是將邏輯封裝在我們可以在需要?jiǎng)?chuàng)建新動(dòng)物時(shí)調(diào)用的函數(shù)內(nèi)部。我們將這種模式稱(chēng)為,我們將函數(shù)本身稱(chēng)為構(gòu)造函數(shù),因?yàn)樗?fù)責(zé)構(gòu)造一個(gè)新對(duì)象。
視頻Video
https://www.youtube.com/watch...
如果不好好的學(xué)習(xí)對(duì)象,你就無(wú)法在JavaScript中獲得很大的成就。它們幾乎是JavaScript編程語(yǔ)言的每個(gè)方面的基礎(chǔ)。在這篇文章中,您將了解用于實(shí)例化新對(duì)象的各種模式,并且這樣做,您將逐漸深入了解JavaScript的原型。
對(duì)象是鍵/值對(duì)。創(chuàng)建對(duì)象的最常用方法是使用花括號(hào){},并使用點(diǎn)表示法向?qū)ο筇砑訉傩院头椒ā?/p>
let animal = {} animal.name = "Leo" animal.energy = 10 animal.eat = function (amount) { console.log(`${this.name} is eating.`) this.energy += amount } animal.sleep = function (length) { console.log(`${this.name} is sleeping.`) this.energy += length } animal.play = function (length) { console.log(`${this.name} is playing.`) this.energy -= length }
如上代碼,在我們的應(yīng)用程序中,我們需要?jiǎng)?chuàng)建多個(gè)動(dòng)物。當(dāng)然,下一步是將邏輯封裝在我們可以在需要?jiǎng)?chuàng)建新動(dòng)物時(shí)調(diào)用的函數(shù)內(nèi)部。我們將這種模式稱(chēng)為Functional Instantiation,我們將函數(shù)本身稱(chēng)為“構(gòu)造函數(shù)”,因?yàn)樗?fù)責(zé)“構(gòu)造”一個(gè)??新對(duì)象。
功能實(shí)例化function Animal (name, energy) { let animal = {} animal.name = name animal.energy = energy animal.eat = function (amount) { console.log(${this.name} is eating.) this.energy += amount } animal.sleep = function (length) { console.log(${this.name} is sleeping.) this.energy += length } animal.play = function (length) { console.log(${this.name} is playing.) this.energy -= length } return animal } const leo = Animal("Leo", 7) const snoop = Animal("Snoop", 10)
現(xiàn)在,每當(dāng)我們想要?jiǎng)?chuàng)造一種新動(dòng)物(或者更廣泛地說(shuō)是一種新的“實(shí)例”)時(shí),我們所要做的就是調(diào)用我們的動(dòng)物功能,將動(dòng)物的名字和能量水平傳遞給它。這非常有效,而且非常簡(jiǎn)單。但是,你能發(fā)現(xiàn)這種模式的弱點(diǎn)嗎?最大的和我們?cè)噲D解決的問(wèn)題與三種方法有關(guān) - 吃飯,睡覺(jué)和玩耍。這些方法中的每一種都不僅是動(dòng)態(tài)的,而且它們也是完全通用的。這意味著沒(méi)有理由重新創(chuàng)建這些方法,正如我們?cè)趧?chuàng)建新動(dòng)物時(shí)所做的那樣。你能想到一個(gè)解決方案嗎?如果不是每次創(chuàng)建新動(dòng)物時(shí)重新創(chuàng)建這些方法,我們將它們移動(dòng)到自己的對(duì)象然后我們可以讓每個(gè)動(dòng)物引用該對(duì)象,該怎么辦?我們可以將這種模式稱(chēng)為功能實(shí)例化與共享方法
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/114120.html
摘要:創(chuàng)建對(duì)象的最常用方法是使用花括號(hào),并使用點(diǎn)表示法向?qū)ο筇砑訉傩院头椒?。?dāng)然,下一步是將邏輯封裝在我們可以在需要?jiǎng)?chuàng)建新動(dòng)物時(shí)調(diào)用的函數(shù)內(nèi)部。我們將這種模式稱(chēng)為,我們將函數(shù)本身稱(chēng)為構(gòu)造函數(shù),因?yàn)樗?fù)責(zé)構(gòu)造一個(gè)新對(duì)象。 視頻Videohttps://www.youtube.com/watch... 前言 如果不好好的學(xué)習(xí)對(duì)象,你就無(wú)法在JavaScript中獲得很大的成就。它們幾乎是Java...
摘要:創(chuàng)建對(duì)象的最常用方法是使用花括號(hào),并使用點(diǎn)表示法向?qū)ο筇砑訉傩院头椒?。?dāng)然,下一步是將邏輯封裝在我們可以在需要?jiǎng)?chuàng)建新動(dòng)物時(shí)調(diào)用的函數(shù)內(nèi)部。我們將這種模式稱(chēng)為,我們將函數(shù)本身稱(chēng)為構(gòu)造函數(shù),因?yàn)樗?fù)責(zé)構(gòu)造一個(gè)新對(duì)象。 視頻Videohttps://www.youtube.com/watch... 前言 如果不好好的學(xué)習(xí)對(duì)象,你就無(wú)法在JavaScript中獲得很大的成就。它們幾乎是Java...
摘要:初學(xué)者教程系列旨在精選站內(nèi)發(fā)布的,對(duì)學(xué)習(xí)本門(mén)技術(shù)具有指導(dǎo)意義的文章。是前端開(kāi)發(fā)者使用的主要編程語(yǔ)言,隨著前端技術(shù)的發(fā)展,這門(mén)語(yǔ)言的邊界也得以不斷擴(kuò)展。我們?cè)谶@里選擇了與相關(guān)的經(jīng)典文章,可以讓大家對(duì)如何學(xué)習(xí)這門(mén)語(yǔ)言有一些全面的認(rèn)識(shí)。 SegmentFault 初學(xué)者教程系列旨在精選站內(nèi)發(fā)布的,對(duì)學(xué)習(xí)本門(mén)技術(shù)具有指導(dǎo)意義的文章。 JavaScript 是前端開(kāi)發(fā)者使用的主要編程語(yǔ)言,隨著前...
摘要:設(shè)計(jì)模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開(kāi)始接觸的時(shí)候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計(jì)模式必須要先搞懂面向?qū)ο缶幊蹋駝t只會(huì)讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識(shí)只有分享才有存在的意義。 是時(shí)候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...
摘要:然而,雖然先生對(duì)無(wú)所不知,被譽(yù)為世界的愛(ài)因斯坦,但他的語(yǔ)言精粹并不適合初學(xué)者學(xué)習(xí)。即便如此,在后面我還是會(huì)建議把當(dāng)做補(bǔ)充的學(xué)習(xí)資源。但目前為止,依然是學(xué)習(xí)編程的好幫手。周正則表達(dá)式,對(duì)象,事件,閱讀權(quán)威指南第,,,章。 既然你找到這篇文章來(lái),說(shuō)明你是真心想學(xué)好JavaScript的。你沒(méi)有想錯(cuò),當(dāng)今如果要開(kāi)發(fā)現(xiàn)代網(wǎng)站或web應(yīng)用(包括互聯(lián)網(wǎng)創(chuàng)業(yè)),都要學(xué)會(huì)JavaScript。而面對(duì)泛...
閱讀 1109·2021-09-29 09:35
閱讀 4725·2021-09-22 15:24
閱讀 1486·2021-07-25 21:37
閱讀 2212·2019-08-30 14:17
閱讀 998·2019-08-30 13:56
閱讀 2441·2019-08-29 17:07
閱讀 1331·2019-08-29 12:44
閱讀 2736·2019-08-26 18:26