這篇文章將為大家詳細(xì)講解有關(guān)js引用類型值的缺點(diǎn)有哪些,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比高縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式高縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋高縣地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
1、如果在類型中定義了引用類型值,那么所有繼承的共享引用類型值。
值類型的繼承不會(huì)致共享,單獨(dú)分配內(nèi)存空間。
// 父構(gòu)造函數(shù) function Father() { this.name = "father" } // 子構(gòu)造函數(shù) function Children() { } // 實(shí)現(xiàn)繼承:子構(gòu)造函數(shù)的原型對(duì)象=父構(gòu)造函數(shù)的實(shí)例對(duì)象 Children.prototype = new Father() // 創(chuàng)建子實(shí)例 let c1 = new Children() let c2 = new Children() // 不是引用類型值沒有問題 c1.name = "我修改了name" console.log(c1.name)// 我修改了name console.log(c2.name)// father
2、引用類型的繼承會(huì)導(dǎo)致共享和共享內(nèi)存空間。引用類型繼承后,所有實(shí)例都共享一份數(shù)據(jù)。
// 父構(gòu)造函數(shù) function Father() { this.child = { name: 'father' } } // 子構(gòu)造函數(shù) function Children() {} // 實(shí)現(xiàn)繼承:子構(gòu)造函數(shù)的原型對(duì)象=父構(gòu)造函數(shù)的實(shí)例對(duì)象 Children.prototype = new Father() // 創(chuàng)建子實(shí)例 let c1 = new Children() let c2 = new Children() // 是引用類型值就有問題 c1.child.name = "我修改了name" console.log(c1.child)// { name: '我修改了name' } console.log(c2.child)// { name: '我修改了name' }
關(guān)于“js引用類型值的缺點(diǎn)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。