一.字符串的创建
1.字面量
var str = 'hello'
2.构造函数
var str = new String('hello')
二.字符串的操作
1.length 属性
字符串长度,就是字符串的个数
ps:空字符也算一个字符
2.索引
字符串也能像数组一样,通过索引访问对应的字符
ps:不过字符串不能通过索引进行修改
3.for循环遍历字符串
var str = 'helloworld'
for(var i = 0 ; i < str.length ; i++){
console.log(str[i])
}
三.包装数据类型
1.定义
数据类型为基本数据类型,但是能够调用方法,当使用时会自动转换成复杂数据类型,使用完自动转回基本数据类型
2.哪些是封装类型
字符串 、数值、布尔值
四.字符串的常用方法
1.charAt(索引) charCodeAt()
var str = 'helloworld'
var num = charAt(2) //跟数组一样从0开始
console.log(num)
//返回值为l
//字符串.charCodeAt(下标) 将字符转换为对应的Unicode编码
str[0].charCodeAt(3)
2.indexOf 、 lastIndexOf
var str = 'helloworld'
//indexOf()
var num = indexOf('l') //返回第一个匹配括号内的字符的位置,从0开始计算
//结果为2
//lastIndexOf('l') //从最后开始往前数,返回第一个匹配的位置
//结果为3
//未找到都返回 -1
3.substring 、 substr
var str = 'helloworld'
//substring(start,end) start 开始截取的位置 end 截取结束的位置 不包含end
var newStr = str.substring(2,5)
console.log(newStr)
//结果为 llo
//substr(start , num) start 开始截取的位置 num 从开始位置向后截取多少个
var newStr = str.substring(2,5)
console.log(newStr)
//结果为llowo
//当省略掉后面的数量时,截取后面所有的字符
var newStr = str.substr(2)
console.log(newStr)
//结果为lloworld
4.replace
//将字符串中的一些字符替换为另外的指定字符
var str = 'sdfasfsdf==sfa'
str.replace('sdf','dss') //第一个参数为原字符串的子字符串,第二个参数是需要更换的字符串
console.log(str)
//输出结果为 dssasfsdf==sfa
5.split
//将字符串通过确定的符号进行分割,返回一个新的数组
var str = 'javascript html css'
var newArray = str.split(' ') // 通过空格分割
var newArray = str.split('') //每个字符都分割
var newArray = str.split('c') //通过c分割
//结果 ['javas' , 'ript html ','ss']
6.concat
连接两个字符串,返回连接之后的字符串
var str = 'hello'
var s1 = str.concat('world')
console.log(s1)
//结果为 helloworld
7.trim
删除字符串两边的空格
8.startWith() 、 endWith()
startWith() endWith()
var src = 'https://mp.csdn.net'
//startWith(str) 以str开头的 网址的协议判断
src.startWith('https:') 如果匹配则返回true 不匹配则返回false
//endWith(str) 以str结尾的 网址的后缀判断
src.endWith('.net')
9.toLowerCase 、toUpperCase
将字符串转换为大写或者小写
五.字符串的相关案例(思维练习)
1.反转字符串
function testReverse(){
var str = 'abcdefg'
var newArr = str.split('')
newArr.reverse()
str = newArr.join('')
console.log(str)
}
testReverse()
2.替换字符串
function testReplace(){
var str = 'sadhjaksdMMsfsdfsdfioMMsdfnsdifMMsdfsdf'
var newArray = str.split('MM')
var newStr = newArray.join('**')
console.log(newStr)
}
testReplace()
3.字符串分割
function testSplit(){
var strArray = []
var str = 'javascript-html-css'
var num = 0
while(num != -1){
num = str.lastIndexOf('-')
var newStr = str.substr(num + 1)
str = str.replace('-' + newStr , '')
strArray.unshift(newStr)
}
console.log(strArray)
}
testSplit()
六、面试题(数组去重)
var arr = [9, 2, 5, 2, 8, 2, 5]
function fun() {
var newArr = new Array()
arr.forEach(function (item) {
if (newArr.includes(item) == false) {
newArr.push(item)
}
})
return newArr
}
console.log(fun());