zoukankan      html  css  js  c++  java
  • js的基本包装类型

    基本包装类型(包装对象):

    先看下以下代码:

    var s1 = "helloworld";
    var s2 = s1.substr(4);

    上面我们说到字符串是基本数据类型,不应该有方法,那为什么这里s1可以调用substr()呢?

    通过翻阅js权威指南第3.6章节和高级程序设计第5.6章节我们得知,ECMAScript还提供了三个特殊的引用类型Boolean,String,Number.我们称这三个特殊的引用类型为基本包装类型,也叫包装对象.

    也就是说当读取string,boolean和number这三个基本数据类型的时候,后台就会创建一个对应的基本包装类型对象,从而让我们能够调用一些方法来操作这些数据.

    所以当第二行代码访问s1的时候,后台会自动完成下列操作:

    1. 创建String类型的一个实例;// var s1 = new String("helloworld");

    2. 在实例上调用指定方法;// var s2 = s1.substr(4);

    3. 销毁这个实例;// s1 = null;

    正因为有第三步这个销毁的动作,所以你应该能够明白为什么基本数据类型不可以添加属性和方法,这也正是基本装包类型和引用类型主要区别:对象的生存期.

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

  • 相关阅读:
    按钮设计
    图标设计
    滤镜与通道
    路径、形状工具与选区
    类的无参方法
    类和对象
    阅读器关闭时尝试调用Read无效时的解决方法
    进入ASP .net mvc的世界
    linux命令-vim
    linux命令-分区表fstab
  • 原文地址:https://www.cnblogs.com/-rainbow-/p/9406704.html
Copyright © 2011-2022 走看看