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