国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > JavaScript > js使用构造函数的缺点

js使用构造函数的缺点

js 构造函数

头像

小妮浅浅

2021-11-08 13:46:3115158浏览 · 0收藏 · 0评论

1、不是原型链继承,只是借用构造函数,所以不能继承原型的属性和方法。

2、虽然构造函数中定义的属性和方法是可以访问的,但是每个实例都被复制了。

如果例子太多,方法太多,占用内存很大,那么方法就在构造函数中定义,函数的复用就无从谈起。

实例

// 父构造函数
function Father() {
    this.name = 'father'
    this.speakName1 = function () {
        console.log('speakName1')
    }
    this.speakName2 = function () {
        console.log('speakName2')
    }
    this.speakName3 = function () {
        console.log('speakName3')
    }
    this.speakName4 = function () {
        console.log('speakName4')
    }
}
// 父原型上 方法
Father.prototype.alertName = function () {
    console.log(this.name)
}
// 父原型上 属性
Father.prototype.age = 21
// 子构造函数
function Children() {
    Father.call(this)
}
 
// 创建子实例
let c1 = new Children()
// 调用原型方法,实例访问不到
c1.alertName()
// TypeError: c1.alertName is not a function
 
// 访问原型属性,实例中未定义
console.log(c1.age)
// undefined
 
// 可以访问实例属性,但是每个实例都存有自己一份 name 值
console.log(c1.name)
// father
 
// 可以访问实例方法,但是每个实例都存有自己一份 speakName1() 方法,
// 且方法过多,内存占用量大,这就不叫复用了
c1.speakName1()// speakName1
 
c1.speakName2()// speakName2
 
c1.speakName3()// speakName3
 
c1.speakName4()// speakName4
 
// instanceof isPrototypeOf 无法判断实例和类型的关系
console.log(Father.prototype.isPrototypeOf(c1))// false
console.log(c1 instanceof Father)// false

以上就是js使用构造函数的缺点,希望对大家有所帮助。更多js学习指路:js教程

推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

臣卜扌桑扌圭辶鬲的游戏| 按摩店的待遇5HD| 盒子动漫| 灭火宝贝| 日韩在线| 乳房| 正阳门下小女人电视剧全集免费观.| 爱爱内含光| YSL水蜜桃色号407| 成全二人世界免费观看电视剧| 妈妈がだけの爱いたい歌词| 《湿点》未增减板相似| 小雪解开乳罩给老杨摸| 坤坤寒进桃子里在线看歌词| 《搬家工人的绝遇》观看| 法国色情《宝贝宝贝3| 动漫《纯洁的修女》在线看| WWW.MD.GOV.CN| 芒果浏览器| 女生的隐私曝光| 69精品久久久久久久精品A片| 公翁挺进小玲的小滨| 母亲和女婿免费高清电视剧| 小寡妇在线观看免费播放电视剧| 丫头把腿开大让我添添| 《高压监狱2》完整版| 18岁的少女与狗高清电视剧| 家公给我治疗5中字| 进击的巨人第一季| 乳首やほっちやんねん的读音| 摸摸大扔子的视频大全| 可以进入任何网站的浏览器| 免费B站看大片真人电视剧| 天香天堂免费观看电视剧| 特殊按摩治疗师| 成品人和精品人的区别哪个好| 老公把舌头放进我B里搅拌| 妈妈がだけの母さん歌词| 人犬兽人在线观看免费完整| 《相濡以沫的夜晚》动漫免费全部| 公交车被上高湖了还能坐吗小说