美文网首页
JavaScript之string方法

JavaScript之string方法

作者: 执笔于情 | 来源:发表于2020-09-09 10:01 被阅读0次

一、JavaScript数据类型

  • 基本数据类型(UndefinedNullBooleanNumberStringSymbol)
  • 引用数据类型(FunctionObjectArray)

二、判断数据类型

  1. typeof()


    image.png

由此可看出,typeof方法检测,只能检测出除Array,Null,Object以外的数据类型,这三种数据类型均为object,不能进一步判断它们,所以typeof方法最好是用在已知数据类型上,未知数据类型判断不建议使用

2.instanceof

  • 原理是 构造函数的 prototype 属性是否出现在对象的原型链中的任何位置
function A() {}
let a = new A();
a instanceof A     //true,因为 Object.getPrototypeOf(a) === A.prototype;
  • instanceof不能区别undefined和null,而且对于基本类型如果不是用new声明的也测不出来,对于使用new声明的类型,可以检测出多层继承关系。
  1. Object.prototype.toSring.call()
  • 原理(摘自高级程序设计3):在任何值上调用 Object 原生的 toString() 方法,都会返回一个 [object NativeConstructorName] 格式的字符串。每个类在内部都有一个 [[Class]] 属性,这个属性中就指定了上述字符串中的构造函数名。


    image.png
  • 对于未知数据类型或者已知数据类型,Object.prototype.toSring.call()目前是我认为最好的方法

4.Array.isArray()这里不做详细介绍,这个就是判断是否为数组的方法

三、String对象的方法

①indexOf(searchString,position)

  • 在string内查找另一个字符串searchString。如果它被找到,就返回第1个匹配字符的位置,否则返回-1。

  • 需要记住一点是:可选参数position可设置从string的某个指定的位置开始查找


    image.png

1.1 lastIndexOf(searchString,position)
与indexOf方法类似,只不过它是从该字符串的末尾开始查找而不是从开头。

②charAt(pos)

  • 返回指定位置(如上pos)的字符。如果pos小于0或者大于等于字符串的长度string.length,它会返回空字符串。


    image.png

③localeCompare(that)

  • 用来比较两个字符串,返回比较结果数字。如果stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。


    image.png

④search(searchvalue)

  • search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
    如果没有找到任何匹配的子串,则返回 -1。
image.png

⑤match(searchvalue)与match(regexp)

  • match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
  • 该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
image.png

⑥test()RegExp对象的方法

  • test() 方法用于检测一个字符串是否匹配某个模式.
  • 如果字符串中有匹配的值返回 true ,否则返回 false。


    image.png

⑦replace(searchValue,replaceValue)

  • 作用:replace方法对string进行查找和替换操作,并返回一个新的字符串。
  • 取值:而参数searchValue可以是一个字符串或者一个正则表达式对象。
  • 第一种情况:如果searchValue是一个字符串,那么searchValue只会在第1次出现 的地方被替换


    image.png

⑧ substring(start,stop)与substr(start,length)

  • substring(start,stop) 方法用于提取字符串中介于两个指定下标之间的字符。
    一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
参数 描述
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1,如果省略该参数,那么返回的子串会一直到字符串的结尾。
  • 返回值
    一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
  • substr(start,length) 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
参数 描述
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
  • 返回值
    一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
image.png

好了,这篇文章到这里就结束了,如果您正在看这篇文章,觉得对您有帮助的话,就麻烦您的小手手给我点个赞吧^ _ ^,如果有任何疑惑或建议,都可在下方留言,一起交流、学习。

相关文章

网友评论

      本文标题:JavaScript之string方法

      本文链接:https://www.haomeiwen.com/subject/xlkjektx.html