必威体育Betway必威体育官网
当前位置:首页 > IT技术

引用类型和基本类型的区别?

时间:2019-08-25 00:40:00来源:IT技术作者:seo实验室小编阅读:72次「手机版」
 

引用类型

两者的区别可以主要从以下三个方面说起:1:内存空间   2:对值的操作   3:变量的复制    

javascript高级程序设计》中对于二者的定义是:基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。

基本数据类型包括  number string boolean undefined  null 

引用类型包括:array  object function

1:内存空间

我们将js的内存分为栈内存和堆内存;基本类型存放于栈内存中,包括变量以及变量的值。

例如:

var name = 'jozo';
var city = 'guangzhou';
var age = 22;

引用类型是大小不固定的数据,但是他们的地址大小是固定的,所以把地址存在栈中而值存在堆中。

var person1 = {name:'jozo'};
var person2 = {name:'xiaom'};
var person3 = {name:'xiaoq'};

2:对值的操作

基本类型值:按值访问,操作的是他们实际保存的值

引用类型值:按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再找到保存在堆内存中的值。对于引用类型的值,我们可以为其添加属性和方法,也可以改变和删除其属性的方法。

 

3:变量的复制

基本类型变量的复制:从一个变量向另一个复制时,会在栈中创建一个新值,然后把值复制到为新变量分配的位置上。

引用类型变量的复制:复制的是存储在栈中的指针,将指针复制到栈中为新变量分配的空间中,而这个指针副本和原指针指向存储在堆中的同一个对象,复制操作结束后,两个变量实际上将引用同一个对象,因此改变其中一个,将影响另一个。

相关阅读

java不同的引用类型,使用情况详细代码说明

之前关于这个,看了一些文章,但是总是觉得讲的不够清晰,自己都实践了很多次,才反映出来,其中暴漏出了自己很多不足,GC命令不熟悉,导致我测

分享到:

栏目导航

推荐阅读

热门阅读