zoukankan      html  css  js  c++  java
  • 怎样理解基本类型的包装对象

    前言: JavaScript中一切皆对象

    当我们给下面的数值 / 字符串 / 布尔值类型的变量增加属性, 会发现我们的设置不会生效, 这是什么原因呢? 这就要讲到 "包装对象" 了; 

    var a = 123;
    a.name = "number";
    a.name; // undefined;
    
    var b = "hello";
    b.name = "string";
    b.name; // undefined;
    
    var c = true;
    c.name = "boolean";
    c.name; // undefined;

    在JavaScript中, 数值 / 字符串 / 布尔值都是基本类型, 而基本类型的值是不可变的, 但这又违背了JavaScript一切皆对象这句话, 因此, 一定有什么方法可以对这三种基本类型进行对象的相关操作;

    第一步: 调用基本类型的方法时, 基本类型会自动转换为它所对应的包装对象

    var a = "hello";
    
    // 此时是一个基本类型
    a; // "hello"
    
    // 使用相关方法或属性时, 它会转换为对应的包装对象, 比如下面转换为: String
    a.length; // 5
    a.replace("l",""); // "helo"
    
    // 上面的调用可以看作是下面的执行
    String(a).length; // 5
    String(a).replace("l", ""); // "helo"

    注意: 

    1. 基本类型可以使用对应的包装对象的属性和方法, 但不能对包装对象添加/删除或修改属性或方法;

    2. 如果要对包装对象作添加/删除或修改属性或方法的操作, 则可以使用类似: String().prototype.xxx这种方法在包装对象的原型上进行修改.

  • 相关阅读:
    Invalid column name on sql server update after column create
    个人工资计算表
    xxxx
    excel cannot access the file there are several possible reasons
    .NET/VB.NET: solving the error “The system cannot find the file specified.” “Temp.NETFramework,Version=v4.0.AssemblyAttributes.vb”
    GIT
    时区
    create Excel file
    开发类分组
    判断是否已安装.net framework
  • 原文地址:https://www.cnblogs.com/aisowe/p/11585613.html
Copyright © 2011-2022 走看看