一、创建字符串(两种方式:字面量创建和构造函数方式创建),两种方式的唯一区别是在控制台打印时显示不同。
二、字符串的操作
1. 字符串有length属性,表示字符串长度,其中包含字符串中的空格
2. 字符串按照索引排列,可以通过索引方式访问每一个字符,但是不能改变字符
3. 可以使用for循环遍历字符串
三、包装数据类型
1. 字符串、数值、布尔是一个包装数据类型
2. 字符串在使用时会自动转换为复杂数据类型,使用完成后自动转换为基本数据类型
四、模板字符串
1. ES2015前,字符串拼接使用引号'', 但在换行操作和输出变量值时不方便
2. ES2015后, 字符串拼接使用反引号 `` ,引用变量时可以使用 ${变量名}
五、字符串的常用方法
1. charAt(索引),找到指定的索引位置,返回其对应内容
2. indexOf与lastIndexOf:
3. substring():
4. substr():
5. replace():字符间的相互替换:
var str="Visit Microsoft!"
document.write(str.replace('Microsoft', "school"))
输出 => Visit school!
6. split():分割字符串,并以数组的形式返回:
var str = 'javascript-html-css'
var arr = str.split('-')
arr => [javascript,html,css]
7. concat():连接两个字符串并返回连接后的字符串:
var str = 'hello'
var s1 = str.concat('world')
s1 => helloworld
8. trim():删除字符串两端的空格,返回去掉空格后的新字符串
9. startsWith()与endsWith():
10. toLowerCase()与toUpperCase():分别为将字符串转化为小写和大写:
11. 案例:
<script>
//反转字符串
function testReverse() {
var str = 'abcdefg';
var newStr = str.split('')
console.log(newStr.reverse().join(''));
}
testReverse()
/*
替换字符串
*/
function testReplace() {
var str = 'abcedfdMMefallMMaefeafMMopqrst' // => abcedfd**efall**aefeaf**opqrst
// for (var i = 0; i < str.length; i++) {
// str = str.replace('MM', '**')
// }
// console.log(str)
newStr = str.split('MM');
newStr = newStr.join('**');
console.log(newStr)
}
testReplace()
/*
字符串分割
不使用split
*/
function testSplit() {
var str = 'javascript-html-css' // => ['javascript','css','html']
for (var i = 0; i < str.length; i++) {
str = str.replace('-', ',')
}
console.log(str)
}
testSplit()
</script>