js中的数据类型有以下几种:

Number   Boolean   undefined     Object   Function    String  Null

基本类型:Number Boolean  String  undefined null

引用类型:Object  Function

基本类型的数据是存放在栈内存中的,而引用类型的数据是存放在堆内存中的

复制变量值  

  基本类型:

var p = 1;var p1 = p;

执行结果:

也就是说,基本类型的复制就是在栈内存中开辟出了一个新的存储区域用来存储新的变量,这个变量有它自己的值,只不过和前面的值一样,所以如果其中一个的值改变,则不会影响到另一个。

  引用类型:

var object1 = new Object();
var object2 = object1;

object2复制了object1的值,但是结果却不是像基本类型复制一样的

执行结果:

定义了一个对象其实是在栈内存中存储了一个指针,这个指针指向堆内存中该对象的存储地址。复制给另一个对象的过程其实是把该对象的地址复制给了另一个对象变量,两个指针都指向同一个对象,所以若其中一个修改了,则另一个也会改变。

object.name = 'jhon';
alert(object.name);   //jhon

基本类型的数据是没有属性和方法的,引用类型才会有,但是为什么String类型却又那么多方法呢?

var string = "aaa";
var string2 = string.substring(0));   //aaa

基本类型的确没有方法和属性,因为一旦创建了属性或者方法就会被立刻销毁,但是为了方便程序员对这类的基本类型数据比较方便的操作,在底层做了一些工作,其实这段代码相当于:

var string = new String("aaa");
var string2 = string.substring(0);
string = null;

(1)创建一个String类型的实例(使用 new 操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于一
行代码的执行瞬间,然后立即被销毁 )

(2)在实例上调用指定方法

(3)销毁该实例

经过这三步,字符串值就变得和对象一样了,在Boolean  Number中也是这样

String  Boolean  Number 这三种类型也叫做  基本包装类型

转载于:https://www.cnblogs.com/ljuyi/p/6100071.html

js——引用类型和基本类型相关推荐

  1. js引用类型之RegExp类型-new RegExp()

    引 用 类 型 定义:引用类型是一种数据结构,用于将数据和功能组织在一起,引用类型有时候也被称为对象定义 RegExp 类型 标志flag的含义:  g :表示全局(global)模式,即模式将被应 ...

  2. 内置对象的API Array数组对象 String字符串对象 json字符串 JSON对象 js作用域及变量预解析 引用类型与值类型区别 共享引用 基本包装类型 数组去重

    01-内置对象的API a.Date对象获取时间 b.Array对象数组加工 c.String对象字符串加工 d.json字符串的语法格式 e.JSON对象的字符串与对象转换应用 02-JS作用域 a ...

  3. js 判断变量是否有值返回bool_基础 |判断 JS 中的变量类型竟然可以如此简单

    原标题:基础 |判断 JS 中的变量类型竟然可以如此简单 嗨 这里是IMWEB 一个想为更多的前端人 享知识 助发展 觅福利 有情怀有情调的公众号 欢迎关注转发 让更多的前端技友一起学习发展~ 正文 ...

  4. js php 数据类型判断,【js基础】变量类型判断

    类型判断方法比较: 如果需要想详细了解,请看下文: 注:原封不动复制备份,防止删帖 在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, B ...

  5. 跟小静读CLR via C#(02)-基元类型、引用类型、值类型

    跟小静读CLR via C#(02)-基元类型.引用类型.值类型 一. 基元类型 编译器能够直接支持的数据类型叫做基元类型.例如int, string等.基元类型和.NET框架类库FCL存在着直接的映 ...

  6. 如何区分引用类型和原始类型

    下表列出了原始类型以及它们的对象封装类. 原始类型和封装类 原始类型 封装类 boolean Boolean char Character byte Byte short Short int Inte ...

  7. .NET引用类型与值类型

    值类型和引用类型的基类 引用类型和值类型都继承自System.Object类.不同的是,几乎所有的引用类型都直接从System.Object继承,而值类型则继承其子类,即直接继承System.Valu ...

  8. [转载]实际举例C#引用类型和值类型的区别

    http://www.cnblogs.com/coolbeibei/archive/2009/03/23/1419706.html 实际举例C#引用类型和值类型的区别 我们都知道,c#的两大数据类型分 ...

  9. Golang的基本类型、引用类型、复合类型

    1.基础内置类型: 包括数值类型.字符串类型.布尔类型.数组等除5种引用类型和复合类型外都是基础内置类型.当对这些类型的值进行增加或者删除的时候会创建一个新值,因此当把这些类型的值传递给方法或者函数时 ...

最新文章

  1. 在centos7上编译安装nginx
  2. mysql的慢查询日志功能_MySQL 慢查询日志
  3. synchronized 关键字原理
  4. boost::mpl模块实现copy_if相关的测试程序
  5. 6.Python标准库_子进程 (subprocess包)
  6. 钉钉产品介绍_钉钉上线安全教育新功能家校联动护航学生暑期安全
  7. eclipse配置PHP自动提示代码
  8. jboss4 java_JBoss核心Java Web服务
  9. 代码内查找函数引用_叮~~二级操作题 excel常考函数大梳理
  10. Android之下拉刷新的ListView
  11. 公用计算机管理,如何管理公用计算机和私人计算机的文件访问
  12. pandas 第一行_用Excel表格带你学习pandas最核心的处理操作,不再害怕条件统计
  13. 怎么将短连接修改为长连接_回音壁怎么选?Redmi这个还不错
  14. 35岁遭遇互联网公司无情裁员,面试屡屡碰壁,原因竟是……
  15. MySQL实习训练1
  16. BigDecimal 计算余数
  17. .net调用c++方法时如何释放c++中分配的内存_C/C++常见面试题总结
  18. 性能测试之LoadRunner11安装步骤
  19. 截止失真放大电路_一起学模电:6、放大电路静态与动态分析方法
  20. c语言如何画简单图形,如何用C语言画基本图形

热门文章

  1. 带你自学Python系列(六):列表解析和列表切片
  2. 小白视角来看传说中的卷积神经网络
  3. Kaggle—So Easy!百行代码实现排名Top 5%的图像分类比赛
  4. 自动泊车算法中混合A*粗路径的MATLAB实现
  5. java retry 实现,java-retry实现
  6. echarts 三环圆环_echarts实现环形进度图
  7. 用html5点击消失,input点击后placeholder中的提示消息消失
  8. 怎么让php文件请求一次连接,php 如何锁定接口,让一个接口,同一时间只处理同一人的一次请求?...
  9. python删除数据库_用Python删除Cosmos数据库文档
  10. 茂名2021高考成绩查询入口,茂名高考成绩查询入口