js -- 字符串相关方法总结

简介: js -- 字符串相关方法总结

在js中,string 字符串对象被进行了基本类型的包装就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法

例如:

// 下面代码有什么问题?它是怎么返回 4 的?
let str = 'asdf';
console.log(str.length); // 4

按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码却可以执行,

这是因为 js 会把基本数据类型包装为复杂数据类型,其执行过程如下:

// 1. 生成临时变量,把简单类型包装为复杂数据类型
let moment = new String('asdf');
console.log(moment);
// 2. 赋值给我们声明的字符变量
str = moment;
// 3. 销毁临时变量
moment = null;

由此可以得出字符串的每次操作都会重新开辟一块新空间,严格来说字符串是不可变的。

所以本文总结了字符串相关的方法

根据字符串返回位置

方法名 说明

indexOf(‘要查找的字符,开始的位置)

返回指定内容在原字符串中的位置,如果找不到就返回-1,开始的位置是index索引号。

lastIndexOf()

从后往前找,只找第一个匹配的
let str = "abcdefgabc";
console.log(str.indexOf("d")); // 3
// 指定从索引号为 4 的地方开始查找字符"d"
console.log(str.indexOf("d", 4)); // -1
// 从后往前找第一个"a"
console.log(str.lastIndexOf("a")); // 7

根据位置返回字符

方法名 说明 使用

charAt(index)

返回指定位置的字符(index 指字符串索引) str.charAt(0)
charCodeAt(index) 获取指定位置字符的ASCLL码 str.charCodeAt(0)
str[index] 获取指定位置的字符 HTML、IE 8+ 支持
// 1. charAt(index) 根据位置返回字符
let str = 'asdf';
console.log(str.charAt(3)); // f
// 遍历所有的字符
for (let i = 0; i < str.length; i++) {
console.log(str.charAt(i)); // a s d f
}
// 2. charCodeAt(index)
// 返回相应索引号的字符 ASCII 值,目的: 判断用户按下了那个键
console.log(str.charCodeAt(0)); // 97
// 3. str[index] H5 新增的
console.log(str[0]); // a

字符串操作方法

方法名 说明
substr(start,length) 从start开始,取length个字符,不会改变原字符串
slice(start,end) 从start开始,截取到end位置,不包括end,(获取索引
substring(start,end)

从 start 位置开始,截取到 end 位置,不包括end 和 slice 基本相同

// 从下标 2 开始 取 3 个字符
let str1 = 'abcdefg';
let str2 = str1.substr(2,3);
console.log(str2); // cde
// 从下标 1 开始,截取到下标 3 之前
let str3 = 'abcdefg';
let str4 = str3.slice(1,3);
console.log(str4); // bc
let str5 = 'abcdefg';
let str6 = str5.substring(1,3);
console.log(str6); // bc

replace()方法

replace() 方法用于在字符串中用一些字符替换另一些字符,其使用格式如下:

// 字符串.replace(被替换的字符串, 要替换为的字符串);
let str1 = 'abcdefg';
let str2 = str1.replace('abc','123');
console.log(str2); // 123defg

split()方法

split()方法用于切割字符串,它可以将字符串切分为数组。在切分完毕之后,返回的是一个

数组。其使用格式如下:

// 字符串.split("分割字符")
let str1 = 'abcdefg';
let str2 = str1.split();
console.log(str2); // ['abcdefg']
let str3 = str1.split('');
console.log(str3); // ['a', 'b', 'c', 'd', 'e', 'f', 'g']
let str4 = '123,456,789';
let str5 = str4.split(',');
console.log(str5); // ['123', '456', '789']

希望对大家有所帮助   ˃̶͈ ˂̶͈

目录
相关文章
|
17天前
|
存储 JavaScript 索引
JS中数组的相关方法介绍
JS中数组的相关方法介绍
|
18天前
|
JavaScript 前端开发 容器
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
18 0
|
20天前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
17天前
|
JavaScript 前端开发 索引
JavaScript中与字符串相关的方法
JavaScript中与字符串相关的方法
|
2天前
|
JavaScript 前端开发
js 操作数组的方法
js 操作数组的方法
12 4
|
9天前
|
JavaScript 前端开发
js字符串拼接
js字符串拼接
|
10天前
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
js 垃圾回收机制的方法
|
10天前
|
JavaScript 前端开发
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
|
11天前
|
JavaScript 前端开发
js绑定事件的方法
js绑定事件的方法
22 11
|
11天前
|
JavaScript
JS生成uuid的四种方法
JS生成uuid的四种方法
11 0