文章 > JavaScript > js引用类型值的缺点

js引用类型值的缺点

js 引用

小妮浅浅

2021-09-30 15:35:074219浏览 · 0收藏 · 0评论

1,如果在类型中定义了引用类型值,那么所有继承的共享引用类型值。

值类型的继承不会致共享,单独分配内存空间。

// 父构造函数
function Father() {
    this.name = "father"
}
// 子构造函数
function Children() {
}
// 实现继承:子构造函数的原型对象=父构造函数的实例对象
Children.prototype = new Father()
// 创建子实例
let c1 = new Children()
let c2 = new Children()
 
// 不是引用类型值没有问题
c1.name = "我修改了name"
console.log(c1.name)// 我修改了name
 
console.log(c2.name)// father

2,引用类型的继承会导致共享和共享内存空间。引用类型继承后,所有实例都共享一份数据。

// 父构造函数
function Father() {
    this.child = {
        name: 'father'
    }
}
// 子构造函数
function Children() {}
// 实现继承:子构造函数的原型对象=父构造函数的实例对象
Children.prototype = new Father()
// 创建子实例
let c1 = new Children()
let c2 = new Children()
 
// 是引用类型值就有问题
c1.child.name = "我修改了name"
console.log(c1.child)// { name: '我修改了name' }
 
console.log(c2.child)// { name: '我修改了name' }

以上就是js引用类型值的缺点,希望对大家有所帮助。更多js学习指路:js教程

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

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

Baidu