String分不清记不住的属性和方法

247 阅读2分钟

1. string的charAt()方法

`string.chartAt(index)` charAt()  从一个字符串中返回指定的字符。
  • index (0 ~ string.length - 1 )即 0 到 字符串长度 - 1只间

  • 查找顺序 从左至右,第一个字符索引为0,最后一个字符索引为length - 1

  • 如果index超出范围,则返回空字符串

    对我而言,charAt()和indexOf()十分不好区分,虽然看单词字面意思很好分辨,char at 字符在...,index of索引,但是实际情况下经常忘记indexOf()用法。那就,再看一遍吧。

2. string的indexOf()方法

string.indexOf(searchValue [, fromIndex]) indexOf() 返回调用它的String对象中第一次出现的指定值的索引,从fromIndex开始搜索,未找到返回-1

searchValue是要查找的字符,如果没有设置要查找的值,默认是"undefined",然后在字符串中查找"undefined"

fromIndex可选值,任意整数,默认是0,代表从哪里开始找,负数等同于为空的情况。

还有searchValue为空的情况,具体可以看MDN文档 String.indexOf()

判断字符串中是否包含某字符String.indexOf(value) !== -1,且indexOf()方法区分大小写

3. string的includes()方法

str.includes(searchString[, position]) 用于判断一个字符串是否包含在另一个字符串中,返回true和false string.includes()兼容性稍差,可以polyfill这个方法

if (!String.prototype.includes) {
  String.prototype.includes = function(search, start) {
    'use strict';
    if (typeof start !== 'number') {
      start = 0;
    }

    if (start + search.length > this.length) {
      return false;
    } else {
      return this.indexOf(search, start) !== -1;
    }
  };
}

String.indexOf()方法获取位置,string.includes()方法获取是否存在,两者自行选择。

3. string.split()

string.split()使用分隔符字符串将一个String对象分割成子字符串数组

4. string.slice()

slice(beginIndex[, endIndex]) 方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。

  • beginIndex 从该索引(以0为基数)处开始提取原字符串中的字符。如果值为负数,就会当成strLength + beginIndex处理
  • endIndex 从该索引(以0为基数)处结束提取原字符串中的字符。如果值为负数,就会当成strLength + endIndex处理
  • slice()提取的新字符串包括beginIndex但不包括endIndex