包装类

Author Avatar
Ninefire 6月 08, 2018
  • 在其它设备中阅读本文章

包装类的概念

  • 基本数据类型
    • String
    • Number
    • Boolean
    • Null
    • Undefined
  • 引用数据类型
    • Object

在JS中提供了三个包装类,通过这三个包装类可将基本数据类型转换为对象。

  • String() 可以将基本数据类型的的字符串转换为String对象
  • Number() 可以将基本数据类型的数值转换为Number对象
  • Boolean() 可以将基本数据类型的布尔值转换为Boolean对象
// 创建一个String类型的对象
var str = new String("hello");

// 创建一个Number类型的对象
var num = new Number(3);

// 创建一个Boolean类型的对象
var bool = new Boolean("false");

if(bool){
  alert("我运行了~~~"); // 会执行
}

注意:在实际应用中,不会使用基本数据类型的对象,如果使用基本数据类型的对象,在作一些关系运算时会出现不可预期的结果。

  • 方法和属性只能添加给对象,不能添加给基本数据类型。
    当对一些基本数据类型的值调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性和方法。因此我们才能调用那些方法。
var n = 123;

n = n.toString();

String的方法

在底层,字符串是以字符数组的形式保存的。
"hello" ==> ["h","e","l","l","o"]

  • length属性可以获取字符串的长度
  • charAT()方法可以返回字符串中指定索引位置的字符
var str = "Hello World!"
var result = str.charAT(7);
console.log(result); // W
  • charCodeAT()方法可以返回字符串中指定索引位置字符的Unicode编码
var str = "Hello World!"
var result = str.charCodeAT(2);
console.log(result); // 101
  • String.fromCharCode()方法可以根据Unicode编码获取字符
    必须通过String对象调用。
var result = String.fromCharCode(20013);
console.log(result); // 中
  • concat()方法可以连接两个或多个字符串
    作用和+相同。
var str = "";
var str.concat("Hello", "World", "!");
console.log(str); // HelloWorld!
  • indexOf()方法可以检索字符串中是否含有指定内容
    如果字符串中含有该内容,则会返回该内容第一次出现的索引。
    如果字符串中没有该内容,则会返回-1
    可以指定第二个参数作为开始查找的位置索引。
var str = "I love you."
console.log(str.indexOf("v")); // 4
console.log(str.indexOf("o")); // 3
console.log(str.indexOf("o", 4)); // 8
  • lastIndexOf()方法的用法与indexOf()相同,不同的是
    indexOf是从前至后查找,而lastIndexOf()是从后至前查找。
  • slice()方法可以截取字符串中的指定内容
    不影响原字符串,而是返回截取的字符串。
    参数:
    1. 开始位置的索引(包括开始位置)
    2. 结束位置的索引(不包括结束位置)
      第2个参数省略时则截取开始位置起的所有内容。
    • 参数为负数时将从后往前计算。
var str = "abcdefghijk";
result = str.slice(2,5);
console.log(result); // cde
  • substring()方法可以截取字符串中的指定内容
    参数:
    1. 开始位置的索引(包括开始位置)
    2. 结束位置的索引(不包括结束位置)
    • slice()不同的是substring()会将负值作为0处理,并且会自动调整两个参数的位置,包正第1个参数小于第2个参数。
  • *substr()方法可以截取字符串中的指定内容
    1. 开始位置的索引(包括开始位置)
    2. 截取的长度

如发现错误请联系我,谢谢你。
本文链接:http://ninefire.tk/JavaScript.basics/18.html