摘要:在構(gòu)造函數(shù)中用進(jìn)行聲明私有是指,在外部環(huán)境中不能直接訪問(wèn),該屬性方法只能在對(duì)象的構(gòu)造函數(shù)內(nèi)訪問(wèn)。聲明在構(gòu)造函數(shù)里的變量和方法,沒(méi)有用到靜態(tài)是指,屬性方法是歸屬于類(lèi)的,而非實(shí)例對(duì)象。
什么是Javascript的公有屬性/方法,私有屬性/方法,靜態(tài)屬性/方法,共享屬性/方法?
公有是指,在外部環(huán)境中可以獲取的,可以直接通過(guò)實(shí)例對(duì)象用”.”運(yùn)算符操作獲得。(在構(gòu)造函數(shù)中用this進(jìn)行聲明)
私有是指,在外部環(huán)境中不能直接訪問(wèn),該屬性/方法只能在對(duì)象的構(gòu)造函數(shù)內(nèi)訪問(wèn)。(聲明在構(gòu)造函數(shù)里的變量和方法,沒(méi)有用到this)
靜態(tài)是指,屬性/方法是歸屬于類(lèi)的,而非實(shí)例對(duì)象。可以直接通過(guò)類(lèi)名來(lái)調(diào)用得到。
共享是指,實(shí)例對(duì)象之間,共享屬性和方法,借助向原型對(duì)象添加屬性和方法,可以實(shí)現(xiàn)。
(雖然都有“公共”的含義,但是可以看出靜態(tài)的和共享的之間的區(qū)別了吧)
為什么把方法寫(xiě)在prototype中而不寫(xiě)在構(gòu)造函數(shù)中參考: https://blog.csdn.net/FJ20100...
因?yàn)閷?xiě)在構(gòu)造函數(shù)中更消耗內(nèi)存。寫(xiě)在構(gòu)造函數(shù)中的話,每次用構(gòu)造函數(shù)new一個(gè)對(duì)象的話,都會(huì)創(chuàng)建一份新的屬性和方法存到內(nèi)存中。而寫(xiě)在原型對(duì)象中就沒(méi)有這個(gè)問(wèn)題,對(duì)于這個(gè)類(lèi),只有一個(gè)原型對(duì)象,因此寫(xiě)在原型對(duì)象之下的方法也不會(huì)多次復(fù)制,永遠(yuǎn)只有一份。
(如果寫(xiě)在原型對(duì)象中,多個(gè)實(shí)例調(diào)用這個(gè)方法,會(huì)有什么問(wèn)題嗎?比如對(duì)同一個(gè)對(duì)象進(jìn)行操作?)驗(yàn)證方法 方法用 ==進(jìn)行比較,即內(nèi)存地址的比較
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/104257.html
摘要:關(guān)于函數(shù)聲明他的一個(gè)重要特征就是函數(shù)聲明提升就是在執(zhí)行代碼之前會(huì)先讀取函數(shù)聲明這意味著可以把函數(shù)聲明放到調(diào)用他的語(yǔ)句的后面將聲明放到了后面關(guān)于函數(shù)表達(dá)式創(chuàng)建一個(gè)匿名函數(shù)然后賦值給一個(gè)變量函數(shù)體可以返回一個(gè)匿名函數(shù)返回的函數(shù)可以賦值給一個(gè)變量 關(guān)于函數(shù)聲明 他的一個(gè)重要特征就是函數(shù)聲明提升,就是在執(zhí)行代碼之前會(huì)先讀取函數(shù)聲明,這意味著可以把函數(shù)聲明放到調(diào)用他的語(yǔ)句的后面 sayHi();...
面向?qū)ο蟮恼Z(yǔ)言有一個(gè)標(biāo)志,即擁有類(lèi)的概念,抽象實(shí)例對(duì)象的公共屬性與方法,基于類(lèi)可以創(chuàng)建任意多個(gè)實(shí)例對(duì)象,一般具有封裝、繼承、多態(tài)的特性!但JS中對(duì)象與純面向?qū)ο笳Z(yǔ)言中的對(duì)象是不同的,ECMA標(biāo)準(zhǔn)定義JS中對(duì)象:無(wú)序?qū)傩缘募希鋵傩钥梢园局怠?duì)象或者函數(shù)。 我們首選要了解封裝、繼承、多態(tài)又有如何特點(diǎn) 封裝:顧名思義來(lái)封裝變量和函數(shù)封裝->特點(diǎn):高度復(fù)用,降低冗余度,更有利于模塊化編程,能夠?yàn)?..
摘要:圖片描述缺點(diǎn)是無(wú)法實(shí)現(xiàn)多繼承可以在構(gòu)造函數(shù)中,為實(shí)例添加實(shí)例屬性。 對(duì)象的方法 Object.assign() 對(duì)象可以簡(jiǎn)寫(xiě) ,如果 key 和 value 相等則可以簡(jiǎn)寫(xiě) let name = xm; let age = 2; let obj = { name, age, fn(){ // 可以省略函數(shù)關(guān)鍵字和冒號(hào): console.log(2...
摘要:面向?qū)ο笕筇匦跃褪欠庋b繼承和多態(tài),簡(jiǎn)單理解,對(duì)于貓這種動(dòng)物,它本身就是一個(gè)封裝好的類(lèi),你只需要供它吃喝輸入,它就能表現(xiàn)貓的行為輸出,同時(shí)它繼承了動(dòng)物所具有的習(xí)性吃東西等,而不同的貓因?yàn)樗幁h(huán)境或者習(xí)性的不同,可能會(huì)有不同的表現(xiàn)和行為,這就 面向?qū)ο笕筇匦跃褪欠庋b繼承和多態(tài),簡(jiǎn)單理解,對(duì)于貓這種動(dòng)物,它本身就是一個(gè)封裝好的類(lèi),你只需要供它吃喝(輸入),它就能表現(xiàn)貓的行為(輸出),同時(shí)...
摘要:在中是沒(méi)有這樣的關(guān)鍵字的,我們需要這樣做定義在方法內(nèi)也就是內(nèi)部,也可以看作成構(gòu)造函數(shù)的變量,就是私有變量。移動(dòng)氣球我們需要用到定時(shí)器。 什么是JavaScript? 我們可以從幾個(gè)方面去說(shuō)JavaScript是什么: 基于對(duì)象 javaScript中內(nèi)置了許多對(duì)象供我們使用【String、Date、Array】等等 javaScript也允許我們自己自定義對(duì)象 事件驅(qū)動(dòng) ...
閱讀 1535·2021-09-22 15:35
閱讀 2014·2021-09-14 18:04
閱讀 884·2019-08-30 15:55
閱讀 2458·2019-08-30 15:53
閱讀 2685·2019-08-30 12:45
閱讀 1209·2019-08-29 17:01
閱讀 2584·2019-08-29 15:30
閱讀 3521·2019-08-29 15:09