定制软件基本数据类型和引用数据类型的区别

一、.定制软件存储上的区别

1.定制软件基本数据类型是存放在定制软件栈中的简单数据段。

2.定制软件引用数据类型是存放在定制软件堆内存中的对象,定制软件在栈内存中存放的是堆定制软件内存中具体内容的引用地址,通过这个地址可以快速查找到对象。

二、比较上的区别

1.基本数据类型的比较是值的比较

var a = '{}'

var b = '{}'

console.log(a == b) //true

直接比较值,看起来一样那么他就是一样的。

2.引用类型的比较是引用的比较

var a = {}

var b = {}

console.log(a == b) //false

问:看起来明明一样为什么会是false?

答:因为引用类型比较的是地址,也就是比较两个对象保存在栈区的指向堆内存的地址是否相同,虽然看起来一样,但是他们指向堆内存的地址是不一样的,所以两个对象不相等。

三、赋值上的区别

1.基本数据类型的赋值是简单赋值,如果一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把这个值复制到为新变量分配的位置上。

var a = 10

var b = a

a++

console.log(a) //11

console.log(b) //10

a在内存中保存的值是10,当使用a的值来初始化b时,b中也保存了10,这两个值是完全独立的,相当于b把a的值复制了一份,所以两个变量的任何操作都不会互相影响。

2.引用类型的赋值是对象引用

var a = {}

var b = a

a.name = "haha"

console.log(a.name) //haha

console.log(b.name) //haha

b.age = 29

console.log(a.age) //29

console.log(b.age) //29

当一个变量向另一个变量赋值引用类型的值时,同样也会将栈内存中的值复制一份放到新变量分配的空间中,但是引用类型保存在栈内存中的变量是一个地址,这个地址指向的是堆内存中的对象,所以这个变量其实复制了一个地址,两个地址指向同一个对象,改变其中任何一个变量都会互相影响。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发