类型判断

typeof

  • typeof 用于检测数据类型,对一个值使用typeof操作符会返回下列字符串之一:

    • undefined:表示值未定义
    • boolean:表示值为布尔值
    • string:表示值为字符串
    • number:表示值为数值
    • object:表示值为对象
    • function:表示值为函数
    • symbol:表示值为符号

      语法:

      1. let message = "message";
      2. console.log(typeof message) // String

      注意:

  • 调用typeof null 和 typeof [1, 2, 3] 和 typeof {} 返回的是object,这是因为特殊值null被认为是一个对空对象的引用。

  • 调用typeof [1, 2, 3] 和 typeof {} 返回的也是object。

    instanceof

  • instanceof 用于判断调用对象的原型,判断对象的原型是否在原型链上。返回true或false。

    语法

    1. let message = "message";
    2. console.log(message instanceof String) // true

    字符串转义

  • “\” 在JavaScript中表示转义字符。

    • \n 表示换行
    • \t 表示制表符(空格)
  • 但是在HTML中不论使用多少 \t 使用显示相应的空格,在HTML中需要使用”&nbsp”来表示空格。

    模板自变量语法

  • 模板自变量是JavaScript的新增语法,在 ${ } 中可以进行字符串的拼接。同时也支持换行等操作。{}中支持JavaScript中绝大多数的表达式。也支持函数。

    语法示例:

    1. `${表达式}`
    2. function show() {
    3. return "内容"
    4. };
    5. console.log("展示" + `${show()}`) // "展示内容"

    模板字面量嵌套

  • 在使用模板字面量的时候,可以进行嵌套使用。

    示例:

    ```javascript function template() {

}

  1. <a name="75t4Y"></a>
  2. ## 字符串基本函数使用
  3. <a name="45nd7"></a>
  4. ### 字符串属性
  5. <a name="Jj7g1"></a>
  6. #### length
  7. - 获取字符串长度。
  8. ```javascript
  9. let name = "Tony";
  10. console.log(name.length)

字符串常用基本方法

toUpperCase()

  • 将调用该方法的字符串转为大写形式并返回,如果调用该方法的值不是字符串类型,会被强制转换。
  • 返回一个新的字符串,表示转换为大写的调用字符串。

    1. newStr = str.toUpperCase()

    toLowerCase()

  • 调用该方法的字符串转为小写形式。并返回一个新的字符串。

    1. newStr = str.toLowerCase()

    trim()

  • trim()方法会剔除字符串两边的空白字符,并返回一个新的字符串。

    1. newStr = str.trim()

    charAt()

  • charAt()方法从一个字符串中返回指定的字符。需要传递一个index索引参数。如果不传递,默认是0,如果超出了字符串的索引范围,则返回一个空字符串。

    1. str.charAt(index)
  • 也可以使用迭代器的方法,通过下标获取某一个字符。

    1. str[0]

    字符串截取

    slice()

  • slice()方法用于截取字符串,并返回一个新的字符串,且不会改动原字符串。

    语法:
    1. str.slice(beginIndex[, endIndex])

    参数:
  • beginIndex:从该索引(以0位基数)处开始提取字符串中的字符。如果值为负数会被当做strLength + beginIndex看待。这里的strLength是字符串的长度。例如,如果beginIndex是-3,则看做是:strLength - 3。

  • endIndex:可选参数,在该索引(以0位基数)处结束提取字符串。如果省略该参数,则表示会一直提取到字符串末尾。如果该参数为负数,则被看作是strLength + endIndex。例如endIndex 是-3,则是:strLength - 3。

    substr()

  • substr()方法返回一个字符串中从指定位置开始到指定字符数的字符。返回一个新的字符串,并且不会改动原字符串。

    语法:
    1. str.substr(start[,length])

    参数:
  • start:开始提取字符的位置。如果为负数,则被看做 strLength + start。

  • length:可选参数。提取的字符数。

    substring()

  • substring()方法返回一个字符串在开始索引到结束索引之间的一个子集。或从开始索引直到字符串的末尾的一个子集。

    语法:
    1. str.substring(indexStart[, indexEnd])

    参数:
  • indexStart:需要截取的一个字符的索引,该索引位置的字符作为返回的字符串的首字母。

  • indexEnd:可以参数。一个0到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。

    注意:
  • 如果indexStart等于indexEnd,则返回一个空字符串。

  • 如果省略indexEnd,则提取字符一直到字符串末尾。
  • 如果任一参数小于0或为NaN,则被当做0。
  • 如果任一参数大于stringName.length,则被当作stringName.length。
  • 如果indexStart大于indexEnd,则subString的执行效果就像连个参数调换了一样。

    字符串的检索

    indexOf()

  • indexOf()方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜索。如果未找到该值,则返回-1。

  • 类似的语法还有 lastIndexOf(),表示从右面开始查找。

    语法:
    1. str.indexOf(searchValue [,fromIndex])

    参数:
  • searchValue:要被查找的字符串值。如果没有传递,则会被强制设置为”undefined”。

  • fromIndex:可选参数。数字表示开始查找的位置。可以是任意整数,默认值是0。

    includes()

  • includes() 方法英语判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。

    语法:
    1. str.includes(searchString [,position])

    参数:
  • searchString:要在此字符串中搜索的字符串。

  • position:从当前字符串的那个索引位置开始搜寻子字符串。

    startsWith()

  • startsWith() 方法用来判断当前字符串是否以另外一个给定的字符串开头,并根据判断结果返回 true 或 false。

  • 类似语法还有endsWith(),表示是否以某个字符结尾。

    语法:
    1. str.startsWith(searchString [,position])

    参数:
  • searchString:要在此字符串中搜索的字符串。

  • position:从当前字符串的那个索引位置开始搜寻子字符串。

    字符串的替换

    replace()

  • replace() 方法返回一个由替换值(replacement)替换部分或所有的模式(pattern)匹配项后的新字符串。模式可以使一个字符串或者是一个正则表达式。替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。如果pattern是字符串,则仅替换第一个匹配项。

    语法:
    1. str.replace(regexp|substr, newSubStr|function)

    参数:
  • regexp(pattern): 一个 RegExp 对象或者其字面量。该正则所匹配到的内容会被第二个参数的返回值替换掉。

  • subStr(pattern):被替换掉的字符串。仅第一个匹配项会被替换。
  • newSubStr(replacement):用于替换掉第一个参数在源字符串中的匹配部分的字符串。
  • function(replacement):一个用来创建新子字符串的额函数,该函数的返回值将替换掉第一个参数匹配到的结果。

    repeat()

  • repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。

    语法:
    1. str.repeat(count)

    参数:
  • count:正整数。表示在新构造的字符串中重复了多少遍原字符串。

    split()

  • split() 方法将字符串按照指定的方式进行分割成字符串数组。

    语法:
    1. str.split(separator[, limit])

    参数:
  • separator:指定拆分字符串的标识,可以是一个字符串或者正则表达式。

  • limit:可选参数,一个整数,限定返回的分割片段数量。