• JavaScript高级程序设计8.pdf


    基本包装类型

    为了便于操作基本类型值,ECMAScript定义了3个特殊的引用类型Boolean,Number和String。这些类型与本章介绍的其他用类型相似,同时也具备与各自的基本类型相应的特殊行为

    实际上,每当读取一个基本类型值得时候,后台就会创建一个对应的基本包装类型的对象,让我们能调用一些方法操作这些数据

    var s1="some text";

    var s2=s1.substring(2);

    s1是基本类型值,第二行调用了substring()方法,并将返回值保存在s2中

    相当于在后台调用了三个步骤:

    1创建String类型的一个实例;

    2在实例上调用指定的方法

    3销毁这个实例

    var s1=new String("some text");

    var s2=s1.substring(2);

    s1=null

    引用类型与基本包装类型的主要区别就是对象的生存期,引用类型的实例在执行流停留当前作用域时一直保存在内存中,而自动创建的基本包装类型只存在于一行代码执行的瞬间,然后立即被销毁

    这意味着我们不能在运行时为基本类型值添加属性和方法

    var s1="some text";

    s1.color="red";

    alert(s1.color);  //undefined

    基本包装类型必要时再使用

    对基本包装类型的实例调用typeOf会返回"object",而且所有基本包装类型的对象都会被转换为布尔值true

    Object构造函数根据传入值的类型返回相应的基本包装类型的实例

    var obj=new Object("some text");

    alert(obj instanceof String);  //true

    把字符串传给Object构造函数,就会创建String实例,传入数值就回创建Number实例;传入布尔值就回创建Boolean实例

    要注意的是使用new调用基本类型的构造函数与直接调用同名的转型函数是不一样的

    var value="25";

    var number=Number(value);  //转型函数

    alert(typeof number);  //"number"

    var obj=new Number(value);  //构造函数

    alert(typeof obj);  //"object"

    Boolean类型

    Boolean类型是与布尔值对应的引用类型,调用并传入true或者false

    var booleanObject=new Boolean(true);

    Boolean类型的实例重写了valueOf()方法,返回基本类型值true或false,重写了toString()方法,返回字符串"true"和"false"

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    1048. Find Coins (25)
    return view 详解 MVC
    EF Power Tool 代码生成器 反向生成
    对新数据库使用 Code First
    一个成熟的网站的架构设计应该是这样的
    公司业务的设计思想感悟
    请给奋斗中的男人们一次机会
    大话西游感悟
    充满恶意的单词
    lisp的解释器
  • 原文地址:https://www.cnblogs.com/sdgjytu/p/3651582.html
Copyright © 2020-2023  润新知