字符串
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
'abc'
"abc"
单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。
'key="value"'
"It's a long journey"
多行与转义
如果要在单引号字符串的内部,使用单引号(或者在双引号字符串的内部,使用双引号),就必须在内部的单引号(或者双引号)前面加上反斜杠,用来转义。
'Did she say \'Hello\'?'
// "Did she say 'Hello'?"
"Did she say \"Hello\"?"
// "Did she say "Hello"?"
注意: 转义符在js中不计算长度
var str = "d\'rg\\a"
console.log(str) //"d'rg\a"
console.log(str.length) //6
字符串多行
字符串长度较长时,可拆成多行,换行符之前需使用转义符号
var a = 'hel
\'llo' //error
var a = 'hel\
\'llo'
console.log(a) // "hel'llo"
字符串换行更安全的写法
var longstring = 'long'
+ 'long'
+ 'long'
+ 'string'
console.log(longstring) // "longlonglongstring"
ES6处理长字符串方法
`
hello
ddd
`
/* hello
ddd
*/
字符串常用方法
以下是常用方法
var str = "hello";
console.log( str.length );
console.log( str[0] );
console.log( str[str.length - 1] );
console.log( str.charAt(0) );
console.log( str.charCodeAt(0) );
var str2 = " world";
var str3 = str1 + str2; //字符串拼接
var color = 'red'
var str4 = '衣服的颜色' + color
var str5 = '衣服的颜色${color}'
console.log(str4) //"衣服的颜色red"
console.log(str5) //"衣服的颜色red"
cosnole.log( str3 );
console.log(str.charAt(1)) //"e"
console.lgo(str.charCodeAt(1)) //101 返回字符串的ASCII码
字符串截取 可实现字符串伪删除
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 sub2 = str.slice(0,-1)
console.log(sub3) //"hello worl" 实现字符串伪删除效果
console.log(str) //"hello world" 均不会改变原数组
查找
var str = "hello my world";
var s1 = str.search('my'); //6 找不到为-1
str.indexOf('my') //6 效果于.search类似
var s2 = str.replace('my', '[1, 7, 2]') //"hello [1, 7, 2] world" 把replace(v1, v2)中v1替换为v2
var s4 = str.replace('my','')
console.log(s4) //"hello world" 使用replace实现删除字符串效果
var s3 = str.match('my'); //返回匹配的数组 常配合正则表达式使用
console.log(str) //"hello my world"
大小写
var str = 'hello my world'
console.log(str.toUpperCase()) //"HELLO MY WORLD"
console.log(str) //"hello my world" 不改变原数组
console.log(str.toLowerCase()) //hello my world
console.log(str) //"hello my world" 不改变原数组