javascript字符串

字符串可以包含在单引号、双引号或反引号中:

let single = 'single-quoted';

let double = "double-quoted";

let backticks = `backticks`;

反引号允许我们通过 ${…} 将任何表达式嵌入到字符串中:

function sum(a, b) {

return a + b;

}

alert(`1 + 2 = ${sum(1, 2)}.`); // 1 + 2 = 3. 

使用反引号的另一个优点是它们允许字符串跨行:

let guestList = `Guests:

* John

* Pete

* Mary `;

alert(guestList); // 客人清单,多行 

特殊字符:

字符描述
\n换行
\r回车:不单独使用。Windows 文本文件使用两个字符 \r\n 的组合来表示换行。
\'\"引号
\\反斜线
\t制表符
\b\f\v退格,换页,垂直标签 —— 为了兼容性,现在已经不使用了。
\xXX具有给定十六进制 Unicode XX 的 Unicode 字符,例如:'\x7A' 和 'z' 相同。
\uXXXX以 UTF-16 编码的十六进制代码 XXXX 的 unicode 字符,例如 \u00A9 —— 是版权符号 © 的 unicode。它必须正好是 4 个十六进制数字。
\u{X…XXXXXX}(1 到 6 个十六进制字符)具有给定 UTF-32 编码的 unicode 符号。一些罕见的字符用两个 unicode 符号编码,占用 4 个字节。这样我们就可以插入长代码了。

所有的特殊字符都以反斜杠字符 \ 开始。它也被称为“转义字符”。

length 属性表示字符串长度

str.length

访问字符

[pos]或者str.charAt(pos)

如果没有找到字符,[] 返回 undefined,而 charAt 返回一个空字符串

字符串遍历:

for (let char of "Hello") {

alert(char);

// H,e,l,l,o(char 变为 "H",然后是 "e",然后是 "l" 等)

}

改变大小写 :

alert( 'Interface'.toUpperCase() ); // INTERFACE

alert( 'Interface'.toLowerCase() ); // interface

查找子字符串:

 第一个方法是 str.indexOf(substr,pos)

它从给定位置 pos 开始,在 str 中查找 substr,如果没有找到,则返回 -1,否则返回匹配成功的位置。

str.lastIndexOf(substr, pos)

它从字符串的末尾开始搜索到开头,它会以相反的顺序列出这些事件。

includes,startsWith,endsWith

str.includes(substr,pos)根据 str 中是否包含 substr 来返回 true/false

 获取子字符串:

JavaScript 中有三种获取字符串的方法:substringsubstr 和 slice

 str.slice(start [, end])

返回字符串从 start 到(但不包括)end 的部分。

let str = "stringify";

alert( str.slice(0, 5) ); // 'strin',从 0 到 5 的子字符串(不包括 5)

alert( str.slice(0, 1) ); // 's',从 0 到 1,但不包括 1,所以只有在 0 处的字符

如果没有第二个参数,slice 会一直运行到字符串末尾:

let str = "stringify";

alert( str.slice(2) ); // 从第二个位置直到结束 

start/end 也有可能是负值。它们的意思是起始位置从字符串结尾计算:

let str = "stringify"; // 从右边的第四个位置开始,在右边的第一个位置结束

alert( str.slice(-4, -1) ); // 'gif' 

str.substring(start [, end])

返回字符串在 start 和 end 之间 的部分。

这与 slice 几乎相同,但它允许 start 大于 end

 let str = "stringify"; // 这些对于 substring 是相同的

alert( str.substring(2, 6) ); // "ring"

alert( str.substring(6, 2) ); // "ring"

str.substr(start [, length])

返回字符串从 start 开始的给定 length 的部分。

与以前的方法相比,这个允许我们指定 length 而不是结束位置:

 let str = "stringify";

alert( str.substr(2, 4) ); // 'ring',从位置 2 开始,获取 4 个字符

方法选择方式……负值参数
slice(start, end)从 start 到 end(不含 end允许
substring(start, end)start 与 end 之间(包括 start,但不包括 end负值代表 0
substr(start, length)从 start 开始获取长为 length 的字符串允许 start 为负数

比较字符串:

小写字母总是大于大写字母:

alert( 'a' > 'Z' ); // true

str.codePointAt(pos)

返回在 pos 位置的字符代码 :

// 不同的字母有不同的代码

alert( "z".codePointAt(0) ); // 122

alert( "Z".codePointAt(0) ); // 90

 String.fromCodePoint(code)

通过数字 code 创建字符

 alert( String.fromCodePoint(90) ); // Z

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值