JavaScript包装类

数据类型:

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

在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型转换为对象
String()
- 可以将基本数据类型字符串转换为String对象
Number()
- 可以将基本数据类型的数字转换为Number对象
Boolean()
- 可以将基本数据类型的布尔值转换为Boolean对象

但是请注意!!!
我们在实际应用中不会使用基本数据类型的对象,如果我们使用基本数据类型的对象,在做一些比较的时候可能会带来一些不可预期的结果。(看bool的例子)
包装类浏览器底层自己使用的

var str="hello world";
console.log(typeof str);
var str1=new String("hello world");
console.log(typeof str1);

var num=new Number(3);

var bl=new Boolean(false);
console.log(bl);
console.log(typeof bl);
if(bl){//前面03_JavaScript类型转换的时候说过
	alert("hello everyone!!");
}

方法和属性只能添加给对象,不能添加给基本数据类型
当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换对象,然后在调用对象的属性和方法,调用完以后,再将其转换为基本数据类型

var num=123;
//将基本数据类型转换为Number对象,然后通过对象调用toString()方法
num=num.toString();
console.log(num);
console.log(typeof num);

String对象

var str="hello world";
console.log(typeof str);
/*
	在底层字符串中以数组的形式保存
	["h","e","l","l","o"....]
*/
console.log(str[4]);//o
//字符串的长度
console.log(str.length);//String 对象的属性length

charAt()

  • 可以返回字符串中指定位置的字符
  • 根据索引获取指定的字符
console.log(str.charAt(4));

charCodeAt()

  • 获取指定位置字符的字符编码(Unicode编码)
console.log(str.charCodeAt(0));//h 的Unicode编码为104

String.fromCharCode()

  • 可以根据字符编码获取字符
var str1=String.fromCharCode(1234);//Ӓ
console.log(str1);

indexOf() 和 lastIndexof()

indexOf() //“hello world”;

  • 该方法可以检索一个字符串中是否含有指定内容
  • 如果字符串中含有该内容,则会返回第一次出现的索引
    如果没有找到指定的内容,则会返回-1
  • 可以指定第二个参数。指定开始查找的位置

lastIndexof()

  • 该方法的用法和indexOf()一样
    不同的是indexOf是从前往后找,
    而lastIndexof是从后往前找
  • 也可以指定开始查找的位置
var result=str.indexOf("h");//0
result=str.indexOf("a");// -1
 result=str.indexOf("l",6);//9
console.log(result);

slice()

  • 可以从字符串中截取指定的内容
  • 不会影响到原字符串,而是截取到内容返回

参数说明:
第一个参数:开始位置的索引(包括开始位置)
第二个参数:结束位置的索引(不包括结束位置)

  • 如果省略第二个参数,则会截取到后边所有的
  • 也可以传递一个负数作为参数,负数的话将会从后边计算
result=str.slice(2,7);//包头不包尾
result=str.slice(2);//包头不包尾
console.log(str);
console.log(result);

substring()

  • 可以用来截取只一个字符串,和slice()类似

参数说明:

  • 第一个参数:开始位置的索引(包括开始位置)
  • 第二个参数:结束位置的索引(不包括结束位置)
    • 日过省略第二个参数,则会截取到后边所有的

不同的是这个方法不能接收负值,如果传递负值,则默认为0
如果第二个参数小于第一个参数,则自动调换位置

result=str.substring(2,7);//包头不包尾
console.log(result);

split()

可以将一个字符串拆分称为一个数组

  • 参数:需要一个字符串作为参数,将会根据该字符串去拆分数组
var str="his,him,history";
var arr=str.split(",");
console.log(str);
console.log(arr);

大小写切换

toUpperCase()

  • 将一个字符串转换为大写并返回

toLowerCase()

  • 将一个字符串转换为小写并返回
str=str.toUpperCase();
console.log(str);
str=str.toLowerCase();
console.log(str);

💕👉博客专栏

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐