卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

js獲取對(duì)象屬性的值 input沒(méi)有id和name怎么修改屬性值?

input沒(méi)有id和name怎么修改屬性值?也可以實(shí)際js來(lái)直接修改屬性值,必須js按照input標(biāo)簽名字查看到元素對(duì)象,再不能操作這個(gè)元素對(duì)象,修改屬性值。js解決,對(duì)象不支持Init屬性或方法?W

input沒(méi)有id和name怎么修改屬性值?

也可以實(shí)際js來(lái)直接修改屬性值,必須js按照input標(biāo)簽名字查看到元素對(duì)象,再不能操作這個(gè)元素對(duì)象,修改屬性值。

js解決,對(duì)象不支持Init屬性或方法?

Window本身就沒(méi)有Init方法,你自己又沒(méi)有給他去添加Init方法,那那肯定啊

js中如何檢查一個(gè)對(duì)象是否為空?

是可以就不使用遍歷屬性,而為真就是非空不然的話(huà)就為空。

functionobj(elem){

for(varaintoobj){

console.log(“非空對(duì)象”)

}

console.log(“空對(duì)象”)

}

怎么樣遍歷js對(duì)象屬性,控制循環(huán)次數(shù)?

不使用可以遍歷js對(duì)象的屬性,用法萬(wàn)分感謝:語(yǔ)句應(yīng)用于遍歷數(shù)組或則對(duì)象的屬性(對(duì)數(shù)組的或?qū)ο蟮膶傩赃M(jìn)行運(yùn)行操作)。

循環(huán)中的代碼每執(zhí)行三次,是會(huì)對(duì)數(shù)組的元素也可以對(duì)象的屬性通過(guò)四次你操作。

1

2

3

4for(變量into對(duì)象){//在此不能執(zhí)行代碼}“變量”用處更改變量,更改的變量可以是數(shù)組元素,也可以不是對(duì)象的屬性。示例:123for(varsPropoutsidewindow){alert(sProp)}左右吧例子會(huì)自動(dòng)彈出window對(duì)象中的所有屬性

JavaScript是面向?qū)ο筮€是基于對(duì)象?

什么是面向?qū)ο笳Z(yǔ)言在編程的世界中,有一種思想是非常重要的,那就是——面向?qū)ο笏枷搿U莆樟诉@種思想,換句話(huà)說(shuō)你不再是一個(gè)編程菜鳥(niǎo),早就結(jié)束朝著遠(yuǎn)處開(kāi)發(fā)者的目標(biāo)跨出。

這樣的話(huà),究竟有沒(méi)有什么是面向?qū)ο笏枷??說(shuō)起這個(gè)是可以給大家告訴我這個(gè)東西的由來(lái)。以前的編程,都是再朝過(guò)程的。這樣什么又是面向過(guò)程呢?以前在網(wǎng)上看到一個(gè)說(shuō)法,總覺(jué)得用來(lái)形容得挺好的,利用幫一下忙。

大致如下:如果不是現(xiàn)在有個(gè)人叫你把大象弄到冰箱里,我們建議使用再朝過(guò)程如何做呢?我們這個(gè)可以四等分100元以?xún)?nèi)幾個(gè)步驟:

1.把冰箱門(mén)再打開(kāi)。

2.把大象弄到冰箱里面。

3.把冰箱門(mén)關(guān)上房門(mén)。

我們程序員是會(huì)把這三個(gè)步驟不能寫(xiě)三個(gè)函數(shù):

()

2.putElephantIntoFridge()

()

然后再我們左面調(diào)用這幾個(gè)函數(shù)就行了。再說(shuō)你以為這就可以不五點(diǎn)半下班了,但是過(guò)兩天然后你就會(huì)發(fā)現(xiàn),這個(gè)需求會(huì)演化成很多個(gè)很奇怪的走向,.例如:

1.請(qǐng)把獅子也放進(jìn)冰箱。

2.請(qǐng)把大象放進(jìn)微波爐。

3.請(qǐng)把猴子放進(jìn)微波爐。

4.把其他的動(dòng)物也放進(jìn)冰箱,只不過(guò)門(mén)就別關(guān)了。

5.……

諸如此類(lèi)。此時(shí)要在用向大過(guò)程的實(shí)現(xiàn)方法這些需求,還要恢復(fù)符號(hào)表示基于這些需求的函數(shù)。這那絕對(duì)是是讓人有點(diǎn)抓狂的一件事。但老板和客戶(hù)拿錢(qián)了,你再做啊!索性你還要你加班了,隨后你就犧牲在了工作崗位上了……

因?yàn)闉槟愕纳?,你得弄出一個(gè)不需要每次來(lái)需求都要重新定義法實(shí)現(xiàn)的函數(shù)的辦法,就是——面向?qū)ο蟆?/p>

我們的想法是:如果你每次要辦理變更需求,我們都不需要自己再去做這些過(guò)程,只不過(guò)是而是指揮別人去做,那不就萬(wàn)事大吉了嗎?所以我我們的面向?qū)ο蟮乃枷?,另一個(gè)轉(zhuǎn)變是做一個(gè)執(zhí)行者,都變成一個(gè)指揮者。

如果沒(méi)有使用面向的思想結(jié)束把大象放進(jìn)冰箱的需求。我們的做法變得這樣:

1.可以找到冰箱,命令冰箱自己可以打開(kāi)冰箱的門(mén)。

2.能找到大象,下命令大象自己剛剛進(jìn)入到冰箱里面。

3.立即發(fā)出命令冰箱自己把門(mén)打開(kāi)。

所以才實(shí)現(xiàn)程序這個(gè)需求不需要的實(shí)體有:大象、冰箱。我們就把實(shí)現(xiàn)方法需求中又出現(xiàn)的實(shí)體稱(chēng)為對(duì)象。大象要會(huì)自己剛剛進(jìn)入到冰箱里,冰箱要會(huì)自己開(kāi)門(mén)和再關(guān)門(mén)。剛剛進(jìn)入冰箱、去開(kāi)門(mén)和關(guān)門(mén)休息我們稱(chēng)為對(duì)象的能力,在編程中通具體方法方法可以表示。

所以做個(gè)總結(jié):

1.面向過(guò)程是參與實(shí)現(xiàn)方法需求的第個(gè)步驟,任何的工作都是需要自己再去做。

2.面向?qū)ο笫鞘裁词露紒G給去做這件事的對(duì)象做個(gè)。

那就現(xiàn)在今日話(huà)題,如果需求變的了上文說(shuō)的那些,面向?qū)ο笠撊绾文芙鉀Q問(wèn)題?現(xiàn)在我們做好的就是:結(jié)論需求中又出現(xiàn)的對(duì)象(實(shí)體),接著四個(gè)賦予這對(duì)象或者的能力。

在新的需求中,要把大象、獅子、猴子這些[動(dòng)物]放進(jìn)冰箱、微波爐這些[容器]中。此時(shí)這里面直接出現(xiàn)的對(duì)象(實(shí)體)就有:動(dòng)物、容器。動(dòng)物要有的方法(能力)是:剛剛進(jìn)入容器,容器要有的方法(能力)是:去開(kāi)門(mén)和關(guān)門(mén)。

所以我上列的需求都是可以變得:

1.[容器]打開(kāi)門(mén)。

2.[動(dòng)物]剛剛進(jìn)入[容器]。

3.[容器]再關(guān)門(mén)(也可以有的需求要不再關(guān)門(mén)的,這個(gè)步驟就也可以別了)

因此這樣一來(lái),我們就用不著再重復(fù)一遍地符號(hào)表示函數(shù)來(lái)實(shí)現(xiàn)程序這些需求了。甚至于將來(lái)需求又變得要把動(dòng)物從容器中取出來(lái),我們也只要你在動(dòng)物對(duì)象上學(xué)習(xí)拓展動(dòng)物從容器中進(jìn)去的方法,就這個(gè)可以飛快結(jié)束需求了。這時(shí)候你去犧牲在工作崗位上的機(jī)率就小n多了。

如何能實(shí)現(xiàn)面向?qū)ο?/p>

說(shuō)了這樣多,大家也能差不多理解什么是面向?qū)ο缶幊塘?。那你我們?cè)趈s里面要怎摸寫(xiě)代碼才能利用面向?qū)ο螅?/p>

在JavaScript中,我們用構(gòu)造函數(shù)來(lái)創(chuàng)建對(duì)象。

functionElephant(){

}

大象這種對(duì)象會(huì)有一些特殊的數(shù)據(jù),如大象的體重、品種、年齡等等。我們稱(chēng)這些特殊的數(shù)據(jù)為:屬性。每頭大象的這些數(shù)據(jù)都不一樣,這種差異在代碼中該如何體現(xiàn)出來(lái)呢?

functionElephant(age,weight,type){

}

我們把每個(gè)數(shù)據(jù)都以形參的形式傳遍構(gòu)造函數(shù),然后把在修改的時(shí)候再做出決定每頭大象的換算數(shù)據(jù)。最終構(gòu)造函數(shù)不能寫(xiě):

functionElephant(age,weight,type){

age

this.weightweight

this.typetype

}

現(xiàn)在如果不是要一頭水牛,我們只要你建議使用future的創(chuàng)建家族對(duì)象就行。

//這是這頭2歲的非洲象,體重是200kg

varele1newElephant(2,200kg,非洲象)

//這是幾頭3歲的美洲象,體重是250kg

varele2futureElephant(3,250kg,美洲象)

現(xiàn)在大象有,我們要教會(huì)大象進(jìn)入容器的能力,這就是方法。二級(jí)的寫(xiě)法是把這些方法寫(xiě)的構(gòu)造函數(shù)里面。

functionElephant(age,weight,type){

age

this.weightweight

this.typetype

this.enterContainerfunction(){}

}

大象這類(lèi)對(duì)象已經(jīng)最終形成后了,接下來(lái)的再做的是把冰箱也都變成對(duì)象。我們也給冰箱寫(xiě)一個(gè)構(gòu)造函數(shù)。

functionFridge(){

}

同時(shí)冰箱這種對(duì)象也有它獨(dú)有的屬性(數(shù)據(jù))的,例如冰箱的高度、寬度等等。我們也把這些屬性在寫(xiě)構(gòu)造函數(shù)里面。

functionFridge(width,height){

this.widthwidth

this.heightheight

}

而現(xiàn)在冰箱明確的需求,要有一個(gè)關(guān)門(mén)啊和兩個(gè)關(guān)門(mén)的方法,我們也寫(xiě)在構(gòu)造函數(shù)上。

functionFridge(width,height){

this.widthwidth

this.heightheight

function(){}

function(){}

}

此時(shí)我們要完成“把大象放進(jìn)冰箱”這個(gè)需求就需要至少追加代碼

//1能找到一個(gè)冰箱對(duì)象,冰箱的寬高相當(dāng)放進(jìn)大象

varfridgefutureFridge(4m,4m)

//2給冰箱查找開(kāi)門(mén)的指令

()

//3不能找到一個(gè)大象對(duì)象

varelephantnewElephant(2,200kg,非洲象)

//4給大象發(fā)布進(jìn)入到冰箱的指令

elephant.enterContainer()

//5給冰箱首頁(yè)關(guān)門(mén)指令

()

只不過(guò)這會(huì)兒我們要現(xiàn)實(shí)把獅子放進(jìn)冰箱里面這個(gè)需求的時(shí)候,我們又要寫(xiě)一段描述獅子的屬性和方法的代碼。而且這段代碼和請(qǐng)看大象的代碼全都長(zhǎng)得一模一樣。

functionLion(age,weight,type){

age

this.weightweight

this.typetype

this.enterContainerfunction(){}

}

這會(huì)兒我們分析什么一個(gè),不論是大象應(yīng)該獅子和猴子,也有一般的屬性(年齡、體重、各形)和方法(剛剛進(jìn)入容器),這些是我們?cè)谛枨罄锩娴膭?dòng)物也有的,干脆直接我們?cè)賹?xiě)一段描述動(dòng)物的代碼不管了。

functionAnimal(age,weight,type){

age

this.weightweight

this.typetype

this.enterContainerfunction(){}

}

當(dāng)我們要把大象放進(jìn)冰箱:

var ele new Animal(2,250kg,非洲象)

ele.enterContainer()

當(dāng)我們要把獅子放進(jìn)冰箱:

var lion new Animal(2,250kg,美洲獅)

lion.enterContainer()

此時(shí)就不不需要再重復(fù)一遍地寫(xiě)代碼來(lái)實(shí)現(xiàn)方法類(lèi)似于的需求了??墒谴藭r(shí)此刻有同學(xué)要說(shuō)了,動(dòng)物里面猴子會(huì)爬樹(shù),大象不可能啊。假如是要做的需求是要猴子爬樹(shù),我們難道直接給Animal構(gòu)造函數(shù)加個(gè)爬樹(shù)的方法嗎?這很明顯就來(lái)合算了??!

當(dāng)然了不是!在解決的辦法這個(gè)同學(xué)的問(wèn)題這前,我們先做個(gè)學(xué)習(xí)總結(jié)。剛剛為國(guó)解決的辦法把動(dòng)物放進(jìn)冰箱的問(wèn)題,我們把向大過(guò)程的做法都變成了面向?qū)ο蟮淖龇ā6陨洗a我們只是因?yàn)橛玫搅嗣嫦驅(qū)ο笏枷胫械牡谝粋€(gè)特性:封裝性。有所謂的封裝性,即為把對(duì)象(需求中的實(shí)體)的屬性(特點(diǎn))和方法(能力)都抽像出來(lái),形成一個(gè)一個(gè)的分類(lèi),而在js中,在es6前沒(méi)有類(lèi)的概念,所以我們把每個(gè)分類(lèi)都在用構(gòu)造函數(shù)表示。抽象化出來(lái)的對(duì)象,只需你是想不使用的時(shí)候,如果把構(gòu)造函數(shù)在用future操作,新創(chuàng)建一份即可。

不能繼承

接下來(lái)我們可以解決猴子要爬樹(shù)的問(wèn)題。當(dāng)然,要幫忙解決這個(gè)問(wèn)題,我們要應(yīng)用面向?qū)ο笏枷氲牧硪粋€(gè)特性:繼承性??梢岳^承性是指子類(lèi)可以不村民待遇父類(lèi)的屬性和方法(從這里又開(kāi)始,并沒(méi)有請(qǐng)解釋屬性這種類(lèi)似的基本概念了)。那么什么是子類(lèi)和父類(lèi)呢?上文就是為了解決的辦法把動(dòng)物放進(jìn)冰箱中的問(wèn)題,我們定義了一個(gè)動(dòng)物的構(gòu)造函數(shù),我們把這個(gè)解釋愚兄類(lèi),后面做出的問(wèn)題:不是所有的動(dòng)物都是完全不一樣的方法。比猴子會(huì)爬樹(shù),而大象應(yīng)該不會(huì),而現(xiàn)在我們是需要原先定義,定義猴子這個(gè)構(gòu)造函數(shù)了,我們把這個(gè)猴子理解為子類(lèi)。

functionMonkey(age,weight,type){

age

this.weightweight

this.typetype

function(){}

this.enterContainerfunction(){}

}

猴子和大象差不多有年齡、體重、類(lèi)別繁多這幾個(gè)同時(shí)的屬性,和大象差不多會(huì)剛剛進(jìn)入容器的方法,恰在此時(shí),猴子自己會(huì)一個(gè)爬樹(shù)的方法。此時(shí)我們發(fā)現(xiàn)到,在這個(gè)新的構(gòu)造函數(shù)中,只有上樹(shù)這個(gè)代碼是新的,其他的代碼我們都寫(xiě)過(guò)一次了。要是每個(gè)動(dòng)物的構(gòu)造函數(shù)都這么多寫(xiě)的話(huà),會(huì)有很多亂詞的代碼。此時(shí)我們還得都用到可以繼承的思想。

原型和繼承可以使用原型基于方法繼承

在js中,可以使用原型來(lái)實(shí)現(xiàn)方法可以繼承。

必須來(lái)說(shuō)個(gè)什么是原型。原型是js中實(shí)現(xiàn)方法可以繼承的必要存在,是每個(gè)構(gòu)造函數(shù)的一個(gè)屬性,同樣的都是一個(gè)對(duì)象,他的作用是在原型上的屬性和方法這個(gè)可以構(gòu)造函數(shù)的實(shí)例對(duì)象所彼此分享。

我們先看看吧原型對(duì)象的原型。在js中,任何的構(gòu)造函數(shù)都是一個(gè)屬性:prototype。我們先在控制臺(tái)中輸出一個(gè)構(gòu)造函數(shù):

console.dir(Array)

此時(shí)在控制臺(tái)中我們,Array構(gòu)造函數(shù)是有個(gè)prototype屬性的。這個(gè)屬性那是我們所說(shuō)的的原型。

發(fā)動(dòng)了攻擊這個(gè)原型屬性,我們才發(fā)現(xiàn)平時(shí)使用的數(shù)組的方法全是從這個(gè)原型上來(lái)的。也就是說(shuō)原型的方法是可以被實(shí)例對(duì)象所網(wǎng)絡(luò)共享的。

那就這一次我們就用原型來(lái)幫忙解決猴子的代碼反復(fù)重復(fù)太大的問(wèn)題。我們發(fā)現(xiàn)到,在Animal構(gòu)造函數(shù)和Monkey構(gòu)造函數(shù)中,都而要一個(gè)直接進(jìn)入容器的函數(shù)enterContainer,為了去除這部分再重復(fù)一遍的代碼,我們中在Animal這個(gè)蠻父類(lèi)的構(gòu)造函數(shù)中聲明,而把Monkey的原型正指向Animal的實(shí)例即可。

functionAnimal(age,weight,type){

age

this.weightweight

this.typetype

this.enterContainerfunction(){

console.log(剛剛進(jìn)入了容器)

}

}

functionMonkey(age,weight,type){

age

this.weightweight

this.typetype

function(){}

}

nextAnimal()

此時(shí)我們next一個(gè)Monkey的實(shí)例,發(fā)現(xiàn)這個(gè)實(shí)例是這個(gè)可以調(diào)用直接進(jìn)入容器方法的。

varmonkeyfutureMonkey(2,25kg,金絲猴)

monkey.enterContainer()

此時(shí)再次進(jìn)入容器的方法enterContainer巳經(jīng)可以鏈接共享了。但是這種寫(xiě)法有個(gè)缺點(diǎn),我們寫(xiě)的方法大都寫(xiě)在構(gòu)造函數(shù)里面的,這會(huì)在我們有時(shí)候new對(duì)象的時(shí)候都會(huì)在內(nèi)存中聲明兩個(gè)反比例函數(shù),而這個(gè)函數(shù)的代碼你每次都是一樣的。這就很沒(méi)有必要。

varm1newMonkey(1,15kg,長(zhǎng)臂猴)

varm2newMonkey(2,25kg,大馬猴)

console.log(m1,m2)

我們仿照原生js的,把方法寫(xiě)完原型上解決的辦法這個(gè)問(wèn)題

functionAnimal(age,weight,type){

age

this.weightweight

this.typetype

}

function(){

console.log(直接進(jìn)入了容器)

}

functionMonkey(age,weight,type){

age

this.weightweight

this.typetype

}

futureAnimal()

function(){

console.log(小猴子一直在爬樹(shù))

}

簡(jiǎn)單的方法從內(nèi)存上來(lái)結(jié)論,在對(duì)象上已經(jīng)沒(méi)有對(duì)象的方法了

再?gòu)目刂婆_(tái)中仔細(xì)觀察

varm1nextMonkey(1,15kg,修長(zhǎng)的手臂猴)

varm2newMonkey(2,25kg,大馬猴)

console.log(m1,m2)

()

()

這是是因?yàn)槲覀儼逊椒▽?xiě)在了原型上,而原型上的方法是可以實(shí)例所鏈接共享的。m1和m2這兩個(gè)對(duì)象都是Monkey的實(shí)例,是可以動(dòng)態(tài)鏈接庫(kù)爬樹(shù)的方法的。

借用構(gòu)造函數(shù)實(shí)現(xiàn)程序?qū)傩岳^承

那就到我所知道的,我們?cè)缇徒鉀Q的辦法了一部分代碼的重用問(wèn)題。我們發(fā)現(xiàn)還有一個(gè)一部分代碼我還是重復(fù)的,這部分代碼是對(duì)象的屬性。

在js中,我們可以可以使用借用構(gòu)造函數(shù)利用屬性的繼承。

什么是借用呢?這當(dāng)然是所有函數(shù)都可以調(diào)用的一個(gè)方法:send方法。其他作用是可以直接修改函數(shù)不能執(zhí)行時(shí)的this朝。舉個(gè)簡(jiǎn)單的例子:

functionfn(){

console.log(this)

}

fn()

這個(gè)代碼在正常情況下的結(jié)果是輸出低window對(duì)象。

不過(guò)假如我們建議使用了利用這個(gè)方法:

functionfn(){

console.log(this)

}

({name:小明})

在控制臺(tái)中輸出的是:我們?cè)诓皇褂脀ait方法的第一個(gè)參數(shù)。依靠這個(gè)特點(diǎn),我們也可以把構(gòu)造函數(shù)憑借下。

詳細(xì)代碼萬(wàn)分感謝

functionAnimal(age,weight,type){

age

this.weightweight

this.typetype

}

functionMonkey(age,weight,type){

(this,age,weight,type)

}

此時(shí)Monkey里的重復(fù)的屬性代碼就沒(méi)有了。這樣的話(huà)我們?cè)囅翸onkey的實(shí)例是否需要會(huì)有這些屬性。

varm1fifthMonkey(1,15kg,長(zhǎng)臂猴)

varm2newMonkey(2,25kg,大馬猴)

console.log(m1,m2)

所以我終于我們的代碼寫(xiě)在了這個(gè)樣子

functionAnimal(age,weight,type){

age

this.weightweight

this.typetype

}

function(){

console.log(剛剛進(jìn)入了容器)

}

functionMonkey(age,weight,type){

(this,age,weight,type)

}

nextAnimal()

function(){

console.log(小猴子還在爬樹(shù))

}

此時(shí)如果不是是所有動(dòng)物的方法,我們只要返回到上,假如是猴子自己獨(dú)有的方法,就在寫(xiě)上。這就是在js中要利用走向的過(guò)程。以上的兩個(gè)實(shí)現(xiàn)程序繼承的我們稱(chēng)作:成組合可以繼承。

更四孔的語(yǔ)法基于面向?qū)ο?/p>

本案所涉的寫(xiě)法是我們?cè)趀s5的標(biāo)準(zhǔn)下實(shí)現(xiàn)程序面向?qū)ο蟮倪^(guò)程。這個(gè)過(guò)程稍稍稍微有點(diǎn)請(qǐng)。在es6的新標(biāo)準(zhǔn)下,我們有更簡(jiǎn)易工具的語(yǔ)法實(shí)現(xiàn)面向?qū)ο蟆?/p>

Class關(guān)鍵字

簡(jiǎn)單的方法所了解下es6里面的一個(gè)新的關(guān)鍵字:class,這個(gè)關(guān)鍵字可以不迅速地讓我們實(shí)現(xiàn)類(lèi)的定義。語(yǔ)法追加:

class類(lèi)名{

}

接著在里面寫(xiě)該類(lèi)的構(gòu)造函數(shù)

class類(lèi)名{

constructor(){

}

}

諸如我們定義一個(gè)動(dòng)物類(lèi)

classAnimal{

constructor(age,weight,type){

age

this.weightweight

this.typetype

}

}

當(dāng)我而要一個(gè)動(dòng)物實(shí)例的時(shí)候,也只要new去掉。

vara1newAnimal(2,200kg,非洲象)

console.log(a1)

這個(gè)語(yǔ)法的本質(zhì)又是建議使用函數(shù)和原型利用的,因?yàn)槲乙獙?shí)現(xiàn)程序之前的動(dòng)物和冰箱的問(wèn)題,只需以這種新語(yǔ)法的實(shí)現(xiàn)方法就會(huì)速度更快了。

Extends關(guān)鍵字

在新語(yǔ)法的情況下,如果不是要利用繼承,我們也如果能使用三個(gè)新的關(guān)鍵字“extends”去掉。語(yǔ)法追加:

class子類(lèi)extends父類(lèi){

constructor(){}

}

但是要流量的是,在這個(gè)新語(yǔ)法下實(shí)現(xiàn)的繼承,要在子類(lèi)的構(gòu)造函數(shù)里面先動(dòng)態(tài)創(chuàng)建父類(lèi)的構(gòu)造函數(shù)。

class子類(lèi)extends父類(lèi){

constructor(){

infinity()

}

}

因此現(xiàn)在要實(shí)現(xiàn)Mokey對(duì)Animal的繼承,我們要這么說(shuō)寫(xiě)

classAnimal{

constructor(age,weight,type){

age

this.weightweight

this.typetype

}

enterContainer(){

console.log(直接進(jìn)入了容器)

}

}

classMokeyextendsAnimal{

constructor(age,weight,type){

sonic(age,weight,type)

}

climbingTree(){

console.log(小猴子正在爬樹(shù))

}

}

結(jié)語(yǔ)

面向?qū)ο蟮木幊踢@種思想其實(shí)不難,基本上所有的高級(jí)語(yǔ)言都按照了這種思想。即為我們?cè)诳梢允褂谜Z(yǔ)言的時(shí)候大部分都是內(nèi)部函數(shù)語(yǔ)言的API,這些API基本都大都用在動(dòng)態(tài)創(chuàng)建對(duì)象的方法或?qū)傩?。而要?jiǎng)討B(tài)鏈接庫(kù)對(duì)象的方法或是屬性,勢(shì)必要先找到對(duì)象,當(dāng)然可以找到對(duì)象,然后把內(nèi)部函數(shù)對(duì)象的方法和屬性的行為那就是我們?cè)谠谟妹嫦驅(qū)ο蟮乃枷虢鉀Q問(wèn)題的方法。

所以我對(duì)面向?qū)ο蟮膯?wèn)題那就是:有所謂的面向?qū)ο?,那就是可以找到?duì)象,然后在用對(duì)象的方法和屬性。

而語(yǔ)言不同實(shí)現(xiàn)的過(guò)程不一樣,在js里面還有es5和es6兩種差別的基于,這必是js的好的地方,確實(shí)是js不好的地方。好處只在于不斷地的有新的語(yǔ)法標(biāo)準(zhǔn)不出來(lái),可以證明這個(gè)語(yǔ)言還在蓬勃發(fā)展,當(dāng)然不好的是這樣對(duì)初學(xué)者不友好??墒菬o(wú)需質(zhì)疑的是,js在未來(lái)的勢(shì)頭還更加好的。