美文网首页
基本包装类型和引用类型

基本包装类型和引用类型

作者: 我讲你思 | 来源:发表于2017-11-13 11:42 被阅读0次
  1. 引用类型包括:Object、Array、Date、RegExp、Function。特殊的引用类型():Boolean、Number、String。
//为了便于操作基本类型值,ECMAScript 还提供了 3 个特殊的引用类型:Boolean、Number 和
String.
var s1 = "some text";
var s2 = s1.substring(2); 

这个例子中的变量 s1 包含一个字符串,字符串当然是基本类型值。而下一行调用了 s1 的substring()方法,并将返回的结果保存在了 s2 中。我们知道,基本类型值不是对象,因而从逻辑上讲它们不应该有方法(尽管如我们所愿,它们确实有方法)。其实,为了让我们实现这种直观的操作,后台已经自动完成了一系列的处理。当第二行代码访问 s1 时,访问过程处于一种读取模式,也就是要从内存中读取这个字符串的值。而在读取模式中访问字符串时,后台都会自动完成下列处理.

var s1 = new String("some text");  //(1) 创建 String 类型的一个实例;
var s2 = s1.substring(2);                  //var s2 = s1.substring(2); 
s1 = null;                                             // s1 = null; 

经过此番处理,基本的字符串值就变得跟对象一样了。而且,上面这三个步骤也分别适用Boolean
和 Number 类型对应的布尔值和数字值。引用类型与基本包装类型的主要区别就是对象的生存期。使用 new 操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间,然后立即被销毁。这意味着我们不能在运行时为基本类型值添加属性和方法。来看下面的例子:

var s1 = "some text";
s1.color = "red";
alert(s1.color); //undefined 

在此,第二行代码试图为字符串 s1 添加一个 color 属性。但是,当第三行代码再次访问 s1 时,其 color 属性不见了。问题的原因就是第二行创建的 String 对象在执行第三行代码时已经被销毁了。第三行代码又创建自己的 String 对象,而该对象没有 color 属性。

相关文章

  • 基本包装类型和引用类型

    引用类型包括:Object、Array、Date、RegExp、Function。特殊的引用类型():Boolea...

  • 基本包装类型

    基本包装类型 3个特殊的引用类型:Boolean、Number、String 引用类型与基本包装类型的主要区别就是...

  • 30.包装类

    包装类 包装类即8种基本数据类型对应的引用类型基本数据类型引用数据类型byteByteshortShortintI...

  • 2019-12-23:第五章:基本包装类型和单体内置对象(Glo

    6.基本包装类型 基本包装类型的概念可以这样理解:js为了统一基本类型和引用类型的行为,在读取一个基本类型的变量时...

  • 第5章:引用类型

    导读: 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型和基本包装类型 引用类型、对象、...

  • Java 常用类 04. Java 包装类

    包装类 Java 数据类型分为:基本数据类型 和 引用数据类型,但基本数据类型怎么成为对象呢? 包装类:基本数据类...

  • js 基本类型 引用类型 和 基本包装类型

    基本类型:Undefined,Null,Boolean,Number,String引用类型:Object,Arra...

  • 5 引用类型

    本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...

  • JavaScript — 基本包装类型

    三个特殊引用类型 Boolean、Number 和 String引用类型和基本包装类型的主要区别就是对象的生存期。...

  • 自动装箱和拆箱

    装箱:将基本类型用它们的引用类型包装起来;拆箱:将包装类型转换为基本数据类型;

网友评论

      本文标题:基本包装类型和引用类型

      本文链接:https://www.haomeiwen.com/subject/tkzamxtx.html