饥人谷学习进阶第 8 天
字符串
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中
单引号字符串内部可以使用双引号,双引号字符串内部,可以使用单引号。
'key = "value"'
"It's a long journey"
多行与转义
- 如果要在单引号字符串的内部使用单引号(或在双引号的内部使用双引号),就必须在内部的单引号(或双引号)前面加上反斜杠,用来转义
' say \'Hello\' '
// " say 'Hello' "
//
" say \"Hello World\" "
// " say "Hello World" "
- 字符串默认只能写在一行内,分成多行回报错
如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。
var longString = "All \
Time \
Low \
Low \
Low;
";
longString // "All Time Low Low Low"
加了反斜杠以后,原来写在一行的字符串,可以分成多行,效果与写在同一行完全一样。注意,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。
- 连接运算符(+)可以连接多个单行字符串,用来模拟多行字符串
var longString = 'All '
+'Time '
+'Low'
+'Low'
+'Low';
- 反斜杠在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
如果字符串的正常内容之中,需要包含反斜杠,则反斜杠前需要再加一个反斜杠,用来对自身转义。
var path = "C:\\games\\war3\\"
ES6拓展
多行字符串
var str = `
这
是一个
长字符串
`
字符串模板
var name = "Kofe"
var website = 'Kofe.jianshu.com'
var str = 'Hello,I\'m ${name},${website}'
// "Hello,I'm Kofe, Kofe.jianshu.com"
常见的字符串方法
- 长度计算,连接
var str = "hello";
console.log( str.length ); //5
console.log( str[0] ); // h
console.log( str[str.length - 1] ); //o
console.log( str.charAt(0) ); //返回字符串中指定位置0的字符
console.log( str.charCodeAt(0) ); //返回字符串中指定位置0的字符的ASCII码
var str2 = " world";
var str3 = str + str2;
cosnole.log( str3 ); // "hello world"
- 字符串截取
var str = "hello world";
var sub1 = str.substr(1, 3); // 第一个是开始位置, 第二个是长度 ell
var sub2 = str.substring(1, 3); // 第一个是开始位置,第二个是结束位置,长度为第二个-第一个 el
var sub3 = str.slice(1, 3); // 同上 允许负参
字符串操作不会修改原来的字符串
- 查找
var str = "hello my world";
var s1 = str.search('my'); // 6 找不到为-1
var s2 = str.replace('my', 'your'); // 查找第一个参数替换成第二个参数
var s3 = str.match('my'); // 返回匹配的数组
- 大小写
var str = "Hello";
str.toUpperCase();
str.toLowerCase();
字符串操作不会修改原来的字符串
网友评论