声明定义

  1. // 对象创建字符串
  2. var str1 = new String("50");
  3. console.log(str1); // String {0: "5", 1: "0"}
  4. console.log(str1.length); // 获取长度,2
  5. console.log(str1.toString()) // 获取值,"50"
  6. // 字面量创建字符串
  7. var str2 = "100";
  8. console.log(str2); // "100"

长度

str.length

**params** { string } str **return**_ { number }

  1. var str1 = "100";
  2. console.log(str1.length); // 3

大小写转换

str.toUpperCase()

**_desc_** 字符串转换为大写 **params** { string } str **return**_ { string }

**

str.toLowerCase()

**_desc_** 字符串转换为小写 **params** { string } str **return**_ { string }

  1. var str1 = "hello world";
  2. var str2 = "GO";
  3. console.log(str1.toUpperCase()); // 小写 --> 大写。"HELLO WORLD"
  4. console.log(str2.toLowerCase()); // 大写 --> 小写。"go"

清除空格

* 字符串中间的空格无法清除

str.trim()

**_desc_** 清除字符串左右两侧的空格 **params** { string } str **return**_ { string }

**

str.trimLeft()

**_desc_** 清除字符串左侧的空格 **params** { string } str **return**_ { string }

**

str.trimRight()

**_desc_** 清除字符串右侧的空格 **params** { string } str **return**_ { string }

  1. var str1 = " Hello World ";
  2. console.log(str1.trim()); // "Hello World"
  3. console.log(str1.trimLeft()); // "Hello World "
  4. console.log(str1.trimRight()); // " Hello World"

截取字符串

* 包含开始索引,但不包含结束索引
**

str.slice(startIndex, endIndex)

**params** { string } str **params** { number } startIndex 开始索引 **params** { number } endIndex 结束索引 **return** { string }

**

str.substring(startIndex, endIndex)

**params** { string } str **params** { number } startIndex 开始索引 **params** { number } endIndex 结束索引 **return** { string }

**

str.substr(startIndex, length)

**params** { string } str **params** { number } startIndex 开始索引 **params**__ { number } length 截取的长度 **return** { string }

  1. var str = "123456";
  2. var a = str.slice(1, 3);
  3. var b = str.substring(1, 3);
  4. var c = str.substr(1, 3);
  5. console.log(str); // "123456"
  6. console.log(a); // "23"
  7. console.log(b); // "23"
  8. console.log(c); // "234"

索引获取字符

str.charAt(index)

**_desc_** 根据索引获取字符 **params** { string } str **params** { number } index 索引 **return** { string }

  1. var str1 = "Hello World";
  2. console.log(str1.charAt(4)); // "o"

**

查找字符(串)

* 查询字符串时,整个字符串完全匹配才算存在。当字符串完全匹配且返回索引时,返回字符串首个字符对应的索引
**

str.indexOf(el, startIndex)

**desc** 从左至右查询,返回首个匹配字符(串)的索引 **params** { string } str **params** { string } el 需要寻找的字符(串) **params** { number } startIndex 查询的起始位置,默认值:0 **return** { number } 存在返回索引,不存在返回 -1

  1. var str = "Hello World";
  2. console.log(str.indexOf("o")); // 4
  3. console.log(str.indexOf("o", 6)); // 7
  4. console.log(str.indexOf("a")); // -1
  5. console.log(str.indexOf("ll")); // 2
  6. console.log(str.indexOf("ls")); // -1

**

str.lastIndexOf(el, startIndex)

**desc** 从右至左查询,**返回首个匹配字符(串)的索引** **params** { string } str _**params**_ { string } el 需要寻找的字符(串) _params_** { number } startIndex 查询的起始位置,默认值:str.length - 1 _`return`_ { number } 存在返回索引,不存在返回 -1**

  1. var str = "someone else";
  2. console.log(str.lastIndexOf("o")); // 9
  3. console.log(str.lastIndexOf("o", 2)); // 2。从索引为 2 的位置向左查询

**

str.search(el)

**desc** 从右至左查询,**返回首个匹配字符(串)的索引** **params** { string } str _**params**_ { string } el 需要寻找的字符(串) **return** { number } 存在返回索引,不存在返回 -1

  1. var str = "Hello World";
  2. console.log(str.search("o")); // 4
  3. console.log(str.search("a")); // -1

**

str.includes(el, startIndex)

**desc** 判断字符串中是否存在该元素 **params** { string } str _**params**_ { string } el 需要寻找的字符(串) _params_** { number } startIndex 查询的起始位置,默认值:0 _`return`_ { boolean }**

  1. var str = "Hello World";
  2. console.log(str.includes("ll")); // true
  3. console.log(str.includes("ll", 3)); // false
  4. console.log(str.includes("la")); // false

**

str.startsWith(el, startIndex)

**desc** 判断字符串是否以该元素开头 **params** { string } str _**params**_ { string } el 需要寻找的字符(串) _params_** { number } startIndex 查询的起始位置,默认值:0 _`return`_ { boolean }**

  1. var str = "Hello World";
  2. console.log(str.startsWith("He")); // true
  3. console.log(str.startsWith("el")); // false
  4. console.log(str.startsWith("el", 1)); // true

**

**str.endsWith(el, startIndex)**

**desc** **判断字符串是否以该元素结尾** **params** { string } str _**params**_ { string } el 需要寻找的字符(串) _params_** { number } startIndex 查询的起始位置,默认值:0 _`return`_ { boolean }**

  1. var str = "Hello World";
  2. console.log(str.endsWith("ld")); // true
  3. console.log(str.endsWith("rl")); // false
  4. console.log(str.endsWith("rl", str.length - 1)); // true

**

替换

**str.replace(oldStr, newStr)**

* 只替换首个匹配的字符(串)。全部替换可使用正则表达式

**params** { string } str _**params**_ { string } oldStr 需要被替换的字符(串) _params_** { string } newStr 替换的字符(串) _`return`_ { string }**

  1. var str = "Hello World";
  2. console.log(str.replace("l", "3")); // "He3lo World"
  3. console.log(str); // "Hello World"

str.replaceAll(oldStr, newStr)

es12(*2021**) 新特性
* 替换字符串中所有匹配的字符(串)

**params** { string } str _**params**_ { string } oldStr 需要被替换的字符(串) _params_** { string } newStr 替换的字符(串)**

**return** { string }

  1. var str = "Hello World";
  2. var newStr = str.replaceAll("l", "1");
  3. console.log(newStr); // "He11o Wor1d"

重复

**str.repeat(times)**_

**params** { string } str _**params**_ { number } times 重复的次数 **return** { string }

  1. var str = "*";
  2. console.log(str.repeat(3)); // "***"
  3. console.log(str); // "*"

合并与拆分

**str.concat(...args)**

* 将 args 转换为字符串类型后,再进行合并

**_desc_** 合并字符串 **params** { string } str _**params**_ { any } args 合并的元素 **return** { string }

  1. var str = "Hello";
  2. var str1 = str.concat("aaa");
  3. var str2 = str.concat([1, 2]);
  4. console.log(str1); // "Helloaaa"
  5. console.log(str2); // "Hello1,2"

**str.split(separator)**_

**params** { string } str _**params**_ { number } separator 拆分的字符 **return** { array }

  1. var str = "Hello World";
  2. console.log(str.split("")); // ["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]
  3. console.log(str.split(" ")); // ["Hello", "World"]

类型转换

String To Array

str.split()

Number To String**

num + “”

Any To String

String(*) *.toString()