• js 中的基本包装类型


    什么叫基本包装类型

    先说一个问题:

    先看代码

    var str1 = "Hello Word";
    var str2 = str1.substring(3);
    

    这个是处理字符串的基本方法,但是字符串是一个基本类型啊,不是对象啊,在逻辑上怎么可能会有方法可以执行呢?但是确实可以执行了,为什么呢?

    根据《javascript高级程序设计》一书中说到的:js解析引擎会帮我们处理上面那一段代码,当第二行代码访问 str1 的时候,访问过程处于一种读取模式,也就是要从内存中读取这个字符串的值。在读取模式中访问字符串的时候,后台会自动完成一些处理:

    1、创建 String 类型的实例

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

    3、销毁这个实例

    其实类似于执行了下面的代码:

    var str1 = new String('Hello word');
    var str2 = str1.substring(3);
    str1 = null;

    //感觉书上说的也不太对,如果最后把 str1 = null 了,那如果访问 str1 的话就不是之前定义的 'Hello world' 了。应该是把 str1转成字符串: str1 = str1.toString();

    好了,差不多了。

  • 相关阅读:
    【小技巧】如何输入未知长度的数组,用回车结束输入
    Python基础(二)
    Python基础(一)
    Appium Mac 环境安装
    c# 多线程
    c# 并行计算
    C# 反射
    VI 编辑器
    Linq and Lambda
    WINDOWS 命令
  • 原文地址:https://www.cnblogs.com/zxdesign/p/2987210.html
Copyright © 2020-2023  润新知