成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS中的公有、私有、靜態(tài)、共享屬性和方法

starsfun / 3103人閱讀

摘要:在構(gòu)造函數(shù)中用進行聲明私有是指,在外部環(huán)境中不能直接訪問,該屬性方法只能在對象的構(gòu)造函數(shù)內(nèi)訪問。聲明在構(gòu)造函數(shù)里的變量和方法,沒有用到靜態(tài)是指,屬性方法是歸屬于類的,而非實例對象。

什么是Javascript的公有屬性/方法,私有屬性/方法,靜態(tài)屬性/方法,共享屬性/方法?

公有是指,在外部環(huán)境中可以獲取的,可以直接通過實例對象用”.”運算符操作獲得。(在構(gòu)造函數(shù)中用this進行聲明)

私有是指,在外部環(huán)境中不能直接訪問,該屬性/方法只能在對象的構(gòu)造函數(shù)內(nèi)訪問。(聲明在構(gòu)造函數(shù)里的變量和方法,沒有用到this)

靜態(tài)是指,屬性/方法是歸屬于類的,而非實例對象??梢灾苯油ㄟ^類名來調(diào)用得到。

共享是指,實例對象之間,共享屬性和方法,借助向原型對象添加屬性和方法,可以實現(xiàn)。

(雖然都有“公共”的含義,但是可以看出靜態(tài)的和共享的之間的區(qū)別了吧)

為什么把方法寫在prototype中而不寫在構(gòu)造函數(shù)中

參考: https://blog.csdn.net/FJ20100...
因為寫在構(gòu)造函數(shù)中更消耗內(nèi)存。寫在構(gòu)造函數(shù)中的話,每次用構(gòu)造函數(shù)new一個對象的話,都會創(chuàng)建一份新的屬性和方法存到內(nèi)存中。而寫在原型對象中就沒有這個問題,對于這個類,只有一個原型對象,因此寫在原型對象之下的方法也不會多次復(fù)制,永遠只有一份。
(如果寫在原型對象中,多個實例調(diào)用這個方法,會有什么問題嗎?比如對同一個對象進行操作?)驗證方法 方法用 ==進行比較,即內(nèi)存地址的比較

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104257.html

相關(guān)文章

  • js高級程序設(shè)計-函數(shù)表達式-閱讀筆記

    摘要:關(guān)于函數(shù)聲明他的一個重要特征就是函數(shù)聲明提升就是在執(zhí)行代碼之前會先讀取函數(shù)聲明這意味著可以把函數(shù)聲明放到調(diào)用他的語句的后面將聲明放到了后面關(guān)于函數(shù)表達式創(chuàng)建一個匿名函數(shù)然后賦值給一個變量函數(shù)體可以返回一個匿名函數(shù)返回的函數(shù)可以賦值給一個變量 關(guān)于函數(shù)聲明 他的一個重要特征就是函數(shù)聲明提升,就是在執(zhí)行代碼之前會先讀取函數(shù)聲明,這意味著可以把函數(shù)聲明放到調(diào)用他的語句的后面 sayHi();...

    hiyang 評論0 收藏0
  • 解釋JS中的靜態(tài)方法、公有方法、私有方法特權(quán)方法

    面向?qū)ο蟮恼Z言有一個標(biāo)志,即擁有類的概念,抽象實例對象的公共屬性與方法,基于類可以創(chuàng)建任意多個實例對象,一般具有封裝、繼承、多態(tài)的特性!但JS中對象與純面向?qū)ο笳Z言中的對象是不同的,ECMA標(biāo)準(zhǔn)定義JS中對象:無序?qū)傩缘募?,其屬性可以包含基本值、對象或者函?shù)。 我們首選要了解封裝、繼承、多態(tài)又有如何特點 封裝:顧名思義來封裝變量和函數(shù)封裝->特點:高度復(fù)用,降低冗余度,更有利于模塊化編程,能夠為...

    wizChen 評論0 收藏0
  • js 的原型 原型鏈 原型鏈的繼承

    摘要:圖片描述缺點是無法實現(xiàn)多繼承可以在構(gòu)造函數(shù)中,為實例添加實例屬性。 對象的方法 Object.assign() 對象可以簡寫 ,如果 key 和 value 相等則可以簡寫 let name = xm; let age = 2; let obj = { name, age, fn(){ // 可以省略函數(shù)關(guān)鍵字和冒號: console.log(2...

    soasme 評論0 收藏0
  • js對象的封裝、繼承多態(tài)

    摘要:面向?qū)ο笕筇匦跃褪欠庋b繼承和多態(tài),簡單理解,對于貓這種動物,它本身就是一個封裝好的類,你只需要供它吃喝輸入,它就能表現(xiàn)貓的行為輸出,同時它繼承了動物所具有的習(xí)性吃東西等,而不同的貓因為所處環(huán)境或者習(xí)性的不同,可能會有不同的表現(xiàn)和行為,這就 面向?qū)ο笕筇匦跃褪欠庋b繼承和多態(tài),簡單理解,對于貓這種動物,它本身就是一個封裝好的類,你只需要供它吃喝(輸入),它就能表現(xiàn)貓的行為(輸出),同時...

    Stardustsky 評論0 收藏0
  • JavaScript面向?qū)ο笕腴T

    摘要:在中是沒有這樣的關(guān)鍵字的,我們需要這樣做定義在方法內(nèi)也就是內(nèi)部,也可以看作成構(gòu)造函數(shù)的變量,就是私有變量。移動氣球我們需要用到定時器。 什么是JavaScript? 我們可以從幾個方面去說JavaScript是什么: 基于對象 javaScript中內(nèi)置了許多對象供我們使用【String、Date、Array】等等 javaScript也允許我們自己自定義對象 事件驅(qū)動 ...

    or0fun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<