字符串
单引号和双引号基本相同。
但是,反引号允许我们通过 ${…} 将任何表达式嵌入到字符串中:使用反引号的另一个优点是它们允许字符串跨行
length 属性表示字符串长度:
在 JavaScript 中,字符串不可更改。改变字符是不可能的。
通常的解决方法是创建一个新的字符串,并将其分配给 str 而不是以前的字符串。
toLowerCase() 和 toUpperCase() 方法可以改变大小写:
查找子字符串
str.indexOf
第一个方法是 str.indexOf(substr, pos)。
它从给定位置 pos 开始,在 str 中查找 substr,如果没有找到,则返回 -1,否则返回匹配成功的位置。
可选的第二个参数允许我们从一个给定的位置开始检索。
例如,“id” 第一次出现的位置是 1。查询下一个存在位置时,我们从 2 开始检索:如果我们对所有存在位置都感兴趣,可以在一个循环中使用 indexOf。每一次新的调用都发生在上一匹配位置之后:
includes,startsWith,endsWith
方法 str.includes(substr, pos) 根据 str 中是否包含 substr 来返回 true/false。
str.includes 的第二个可选参数是开始搜索的起始位置:
方法 str.startsWith 和 str.endsWith 的功能与其名称所表示的意思相同:
获取子字符串
JavaScript 中有三种获取字符串的方法:substring、substr 和 slice。
str.slice(start [, end])
返回字符串从 start 到(但不包括)end 的部分。
如果没有第二个参数,slice 会一直运行到字符串末尾:
start/end 也有可能是负值。它们的意思是起始位置从字符串结尾计算:
str.substring(start [, end])
返回字符串从 start 到(但不包括)end 的部分。
这与 slice 几乎相同,但它允许 start 大于 end。
不支持负参数(不像 slice),它们被视为 0。
str.substr(start [, length])
返回字符串从 start 开始的给定 length 的部分。
与以前的方法相比,这个允许我们指定 length 而不是结束位置:
第一个参数可能是负数,从结尾算起:
总结
方法 | 选择方式 | 负值参数 |
---|---|---|
slice(start, end) | 从 start 到 end(不含 end) | 允许 |
substring(start, end) | 从 start 到 end(不含 end) | 负值被视为 0 |
substr(start, length) | 从 start 开始获取长为 length 的字符串 | 允许 start 为负数 |
相较于其他两个变体,slice 稍微灵活一些,它允许以负值作为参数并且写法更简短。因此仅仅记住这三种方法中的 slice 就足够了。
比较字符串
1.小写字母总是大于大写字母
2.带变音符号的字母存在“乱序”的情况
还有其他几种有用的字符串方法:
还有其他几种有用的字符串方法
str.trim() —— 删除字符串前后的空格 (“trims”)。
str.repeat(n) —— 重复字符串 n 次。