您好,登錄后才能下訂單哦!
這篇文章主要介紹js原型不能傳參的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1、由于原型包含了引用類型值帶來的問題,在創(chuàng)建子類型的例子中,參數(shù)不能像超級類型的構(gòu)造函數(shù)一樣傳遞。
2、傳遞給超類型的構(gòu)造函數(shù)參數(shù)將改變繼承這種超類型子類型的所有實例。
實例
// 父構(gòu)造函數(shù) function Father(name, age) { this.age = age this.child = { name: name } } // 子構(gòu)造函數(shù) function Children() {} Children.prototype = new Father('father', 111) // 創(chuàng)建子實例 let c1 = new Children() let c2 = new Children() // 修改引用類型值 name c1.child.name = '修改引用類型值' // 修改值類型 age c1.age = 222 console.log(c1.age)// 222 console.log(c1.child)// { name: '修改引用類型值' } console.log(c2.age)// 111 console.log(c2.child)// { name: '修改引用類型值' }
在修改了某個實例的值類型age后,兩個實例的值類型age值不同。相反,在修改了某個實例的引用類型值后,所有實例的引用類型值都發(fā)生了變化,沒有隔離,共享了一個數(shù)據(jù)。
以上是“js原型不能傳參的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。