欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

js的對象繼承方式有幾種寫法?-創(chuàng)新互聯(lián)

js的對象繼承方式有幾種寫法?針對這個問題,今天小編總結(jié)這篇有關(guān)對象繼承的文章,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。

樊城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

一、對象冒充

其原理如下:構(gòu)造函數(shù)使用 this 關(guān)鍵字給所有屬性和方法賦值(即采用類聲明的構(gòu)造函數(shù)方式)。因為構(gòu)造函數(shù)只是一個函數(shù),所以可使 Parent 構(gòu)造函數(shù) 成為 Children 的方法,然后調(diào)用它。Children 就會收到 Parent 的構(gòu)造函數(shù)中定義的屬性和方法。例如,用下面的方式定義 Parent 和 Children:
js的對象繼承方式有幾種寫法?

原理:就是把 Parent 構(gòu)造函數(shù)放到 Children 構(gòu)造函數(shù)里面執(zhí)行一次。那為什么不直接執(zhí)行,非要轉(zhuǎn)個彎把 Parent 賦值給 Children 的 method 屬性再執(zhí)行呢? 這跟 this 的指向有關(guān),在函數(shù)內(nèi) this 是指向 window 的。當將 Parent 賦值給 Children 的 method 時, this 就指向了 Children 類的實例。

二、原型鏈繼承

眾所周知,JavaScript 是一門基于原型的語言,在 JavaScript 中 prototype 對象的任何屬性和方法都被傳遞給那個類的所有實例。原型鏈利用這種功能來實現(xiàn)繼承機制:
js的對象繼承方式有幾種寫法?

注意:調(diào)用 Parent 的構(gòu)造函數(shù),沒有給它傳遞參數(shù)。這在原型鏈中是標準做法。要確保構(gòu)造函數(shù)沒有任何參數(shù)。

三、使用 call 或 applay 方法

這個方法是與對象冒充方法最相似的方法,因為它也是通過改變了 this 的指向而實現(xiàn)繼承:
js的對象繼承方式有幾種寫法?

apply 方法本人就不舉列了,它和 call 方法的區(qū)別在于它的第二個參數(shù)必須是數(shù)組。

四、混合方式

對象冒充的主要問題是必須使用構(gòu)造函數(shù)方式,這不是最好的選擇。不過如果使用原型鏈,就無法使用帶參數(shù)的構(gòu)造函數(shù)了。如何選擇呢?答案很簡單,兩者都用。 在 JavaScript 中創(chuàng)建類的最好方式是用構(gòu)造函數(shù)定義屬性,用原型定義方法。這種方式同樣適用于繼承機制:
js的對象繼承方式有幾種寫法?

五、使用 Object.create 方法

Object.create 方法會使用指定的原型對象及其屬性去創(chuàng)建一個新的對象:

js的對象繼承方式有幾種寫法?

@ 當執(zhí)行 Children.prototype = Object.create(Parent.prototype) 這個語句后,Children 的 constructor 就被改變?yōu)?Parent ,因此需要將 Children.prototype.constructor 重 新指定為 Children 自身。

六、extends 關(guān)鍵字實現(xiàn)繼承

這個是 ES6 的語法糖,下面看下es6實現(xiàn)繼承的方法:
js的對象繼承方式有幾種寫法?

上面代碼中,子類的constructor方法沒有調(diào)用super之前,就使用this關(guān)鍵字,結(jié)果報錯,而放在super方法之后就是正確的。子類Children的構(gòu)造函數(shù)之中的super(),代表調(diào)用父類Parent的構(gòu)造函數(shù)。這是必須的,否則 JavaScript 引擎會報錯。

注意,super雖然代表了父類Parent的構(gòu)造函數(shù),但是返回的是子類Children的實例,即super內(nèi)部的this指的是Children,因此super()在這里相當于Parent.prototype.constructor.call(this)。

看完上述內(nèi)容,你們對的對象繼承方式有進一步的了解嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站欄目:js的對象繼承方式有幾種寫法?-創(chuàng)新互聯(lián)
本文來源:http://aaarwkj.com/article16/ccpidg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、服務器托管、手機網(wǎng)站建設(shè)、搜索引擎優(yōu)化、電子商務、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
国产三级精品大乳人妇| 国产精品粗又长一区| 国产三级三级在线观看| 十八禁无遮挡污污污网站| 亚洲国产精品伦理在线看| 蜜桃视频在线视频免费观看| 国产精品久久护士96| 亚洲香蕉视频免费在线观看| 国产白丝扒开做爽爽爽网站| 久久精品一品二品三品| 亚洲国产精品有码专区| 97在线视频这里只有精品| 亚洲精品在线观看第一页| 日韩精品中文字幕电影| 日本理论高清在线观看| 特色特色欧美黄色影院| 欧美激情中文字幕日韩精品| 萌白的所有视频在线观看| 福利在线视频一区二区| 夫妻的世界电影完整版| 日韩精品一区二区三区夜色 | 可以看的黄色亚洲网站| 在线日韩欧美一区二区三区| 日韩国产传媒在线精品| 久久这里只有精品伊人网| 亚洲风情亚av在线播放| 色91精品在线观看剧情| 在线观看午夜视频免费| 日本在线最新视频一区二区三区 | 麻豆国产原创av色哟哟| 在线免费观看91亚洲| 久久日韩制服丝袜人妻| 日本成人大片在线观看| 欧美日韩台湾一区二区| 蜜臀久久精品国产综合| 日本高清免费观看一区| 日韩成年人高清精品不卡一区二区| 日韩欧美精品另类在线| 91亚洲自偷观看高清| 国产三级国产精品国产| 你懂的免费视频中文字幕|