JavaScript基本包装类型:Boolean, Number, String

需积分: 0 0 下载量 194 浏览量 更新于2024-08-05 收藏 270KB PDF 举报
"第13章 基本包装类型1" 在JavaScript中,基本包装类型是用于操作基本数据类型(如Boolean、Number和String)的特殊引用类型。这些类型使得我们可以对基本类型值进行一些面向对象的操作,尽管它们本质上是非对象。基本包装类型包括Boolean、Number和String,它们在需要时会被隐式创建,以便调用方法或访问属性。 一.基本包装类型概述 当读取一个基本类型值时,JavaScript会临时创建一个相应的基本包装类型的实例,这样就可以调用该类型的某些方法。例如,即使'Mr.Lee'是一个字符串字面量,我们依然可以调用其substring()方法来截取字符串。不过,这种临时对象会在使用后立即被销毁,因此直接在字面量上设置属性或方法通常是无效的,如`box.name`和`box.age`。 1. 字面量写法: 在这个例子中,我们创建了一个字符串`box`,然后尝试给它添加属性和方法,如`name`和`age`。尽管在输出`box`时仍能看到原始的字符串,但尝试访问添加的属性或方法将会返回`undefined`或抛出错误,因为这些操作对于基本类型来说是无效的。 ```javascript var box = 'Mr.Lee'; // 字面量 box.name = 'Lee'; // 无效属性 box.age = function() { return 100; }; // 无效方法 ``` 2. `new`运算符写法: 使用`new`关键字,我们可以显式地创建一个基本包装类型的实例。这样,我们可以为对象添加属性和方法,就像处理任何其他对象一样。 ```javascript var box = new String('Mr.Lee'); // new运算符 box.name = 'Lee'; // 有效属性 box.age = function() { return 100; }; // 有效方法 ``` 在这个示例中,`new String('Mr.Lee')`创建了一个String对象,所以我们能够为其添加属性和方法,并且能够正常访问它们。 二.Boolean类型 Boolean类型有两个值:`true`和`false`。在使用`new`运算符创建Boolean对象时,可以将任何值转换为布尔值。例如: ```javascript var flag = new Boolean(0); // false var exists = new Boolean(' '); // true ``` 这里的0被视为假(false),而非空字符串被视为真(true)。 三.Number类型 Number类型用于表示数值。JavaScript提供了多种数学操作符,如加法(+)、减法(-)、乘法(*)、除法(/)和模运算(%)。此外,还可以使用`Number`构造函数来创建Number对象,进行数值转换: ```javascript var num = new Number(123); // 创建Number对象 num.toFixed(2); // 返回带有指定小数位数的数字字符串 ``` 四.String类型 String类型用于表示文本。字符串是不可变的,这意味着一旦创建,就不能改变。可以使用`String`构造函数或字面量创建字符串,并调用各种字符串方法,如`length`、`charAt()`、`substring()`等: ```javascript var str = new String('Hello, World!'); // 创建String对象 var length = str.length; // 获取字符串长度 var substr = str.substring(7); // 截取子字符串 ``` 基本包装类型提供了一种方式,让我们能够以面向对象的方式处理JavaScript的基本类型。通过理解这些类型的工作原理,开发者可以在编写代码时更好地利用它们的功能。