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

  • 相关阅读:
    mysql 登录远程数据库
    git rebase
    Maven -DskipTests和-Dmaven.test.skip=true的区别
    Code Labels
    AUC计算
    nohup 同时实现记录日志和屏幕输出
    [转]
    sshpass 配置密码登录ssh
    MyEclipse里面如何把偏好设置导出
    (转)一位资深程序员大牛给予Java初学者的学习路线建议
  • 原文地址:https://www.cnblogs.com/-rainbow-/p/9406704.html
Copyright © 2011-2022 走看看