美文网首页
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