基本类型包装对象的使用方法
8.基本类型包装器
=============
**知识点**
1.基本数据类型
2.包装对象
3.包装属性与方法
-----------------------------------------------
1.基本数据类型
------------
- Number: 数值
- String: 字符串
- Boolean: 布尔值
- Undefined: 未初始化
- Null: 空
-----------------------------------------------
2.包装对象与方法
-------------
- Number(): number
- String(): string
- Boolean(): boolean;
- Undefined 和 Null 无对应的包装器函数
-----------------------------------------------
3.包装属性与方法
-------------
- 将基本类型转为包装对象,调用包装对象上定义的属性和方法
- 直接在基本类型上调用包装对象上的属性和方法
- 将基本类型数据当对象使用时,会自动调用包装器临时转为包装对象
-----------------------------------------------
### 示例代码: code/demo08.html
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>基本类型包装器</title>
</head>
<body>
<script>
// 基本类型: Number/String/Boolean/Undefined/Null
// 除Undefined/Null外, 其余三个都有包装对象
// 可以使用内置构造函数来创建
// 字面量和不用new调用的基本类型构造函数会返回基本类型
// 字面量
var site1 = '0133.cn';
console.log(typeof site1);
// 不用new调用的基本类型构造器/包装器(Number()/String()/Boolean()
var site2 = String('0133.cn');
console.log(typeof site2);
console.log(site1 === site2);
// 使用基本类型对象包装器函数/构造函数,创建包装对象
var site3 = new String('0133.cn');
// 对象上会有一些有用的方法和属性
console.log(typeof site3);
console.log(site3.length); // 属性
console.log(site3.toUpperCase()); // 属性
//通过基本类型的包装器函数,将基本类型转为对象后,可以使用一些非常有用的方法和属性
// 由于基本类型是我们使用最多的原子类型,是构成复杂类型的原子数据类型,使用频繁
// 如果每次都要调用包装器,将它们转为包装对象再用,实在是太麻烦
// 好消息是, js允许用户直接在基本类型的数据上,直接调用定义在对应包装对象上的属性和方法
// 当我们在基本类型是直接调用其包装对象上的属性和方法的时候,系统会自动将基本数据类型临时
// 转为基本类类型的包装对象来使用, 注意,这是临时转换, 并不会改变原始值的类型
var num = 3.1415926;
// var num = new Number(num); // 此步骤可以省略
var res1 = num.toFixed(4); // 四舍五入,小数点后保留4位
console.log(res1);
console.log(typeof num); // 仍是number, 并未改变原类型
// 在字面度上直接调用其包装对象的方法和属性,比用包装对象会更加的方便和直观
// 再举一个字符串的例子, 将字符串,用指定字符切割成数组
var str = 'html, css, javascript';
var res2 = str.split(', '); // 注意逗号后有一个空格,否则无法去掉原串中的空格
console.log(res2);
</script>
</body>
</html>
```