js引用类型值的缺点有哪些

这篇文章将为大家详细讲解有关js引用类型值的缺点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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引用类型值的缺点有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。