-
字面量的方式创建
var str1 = 'QF001' console.log(str1) // 2. 内置构造函数的方式创建 var str2 = new String('QF002') console.log(str2) // 字符串中也会有下标和length var str = 'QF123' // 01234 console.log(str) console.log(str.length) console.log(str[0]) console.log(str[4]) // 字符串中只能通过下标访问到这个位置上的字符, 但是不能修改 // str[0] = 'W' // console.log(str) /**
* 1. charAt
* 语法: 变量/字符串.charAt(下标)
* 作用: 根据下标去字符串中寻找对应的值
* 返回值: 如果字符串中有对应的下标那么返回对应的值, 如果没有返回一个空字符串
*
* 2. charCodeAt
* 语法: 变量/字符串.charCodeAt(下标)
* 作用: 根据下标去字符串中寻找对应的值, 然后找到这个值对应的 unicode 编码
* 返回值: 如果找到返回 unicode 编码, 如果返回 NaN
*
* 3. toLowerCase
* 语法: 变量/字符串.toLowerCase()
* 作用: 把字符串中所有的字母转换为 小写
* 返回值: 转换后的字符串
*
* 4. toUpperCase
* 语法: 变量/字符串.toUpperCase()
* 作用: 把字符串中所有的字母转换为 大写
* 返回值: 转换后的字符串
*/
/**
* 5. substr MDN 说明建议使用这个方法的时候, 更改为 substring
* 语法: 变量/字符串.substr(开始下标, 多少个)
* 作用: 复制指定区域的字符串
* 返回值: 复制到的内容
*
* 6. substring
* 语法: 变量/字符串.substring(开始下标, 结束下标)
* 作用: 复制指定区域的字符串
* 返回值: 复制到的内容
* 注意: 参数包前不包后; 参数可以省略不写
*
* 7. slice
* 语法: 变量/字符串.slice(开始下标, 结束下标)
* 作用: 复制指定区域的字符串
* 返回值: 复制到的内容
* 注意:
* 参数包前不包后;
* 参数可以省略不写;
* 参数可以有负数
*/
/**
* 8. concat
* 语法: 变量/字符串.concat(数据1, 数据2, 数据3, 数据4, 数据5, ......)
* 作用: 合并数据到执行的字符串中
* 返回值: 合并后的一个新字符串
*
* 9. indexOf
* 语法: 变量/字符串.indexOf('要查询的数据', 开始查询的位置(可以不传, 默认为0))
* 作用: 帮我们去字符串中查询是否有这个数据
* 返回值: 如果找到返回对应的下标, 如果找不到返回 -1
*
* 10. lastIndexOf
* 语法: 变量/字符串.lastIndexOf('要查询的数据', 开始查询的位置(可以不传, 默认为字符串最后一个下标))
* 作用: 帮我们去字符串中查询是否有这个数据
* 返回值: 如果找到返回对应的下标, 如果找不到返回 -1
*
* 11. split
* 语法: 变量/字符串.split('分隔符')
* 作用: 根据我们传递的分隔符, 将字符串做一个拆分
* 返回值: 拆分好的字符串, 组成的一个数组
* 注意: 如果传递的分隔符是一个空字符串, 那么会将整个字符串按照每一个字符, 拆分开, 放在一个数组中
*/
var str = 'value=QF001=QF002=QF003'
console.log(str.split('=')) // ['value', 'QF001', 'QF002', 'QF003']
console.log(str.split('@')) // ['value=QF001=QF002=QF003'] 用的分割符必须字符串里有不然无效
console.log(str.split()) // ['value=QF001=QF002=QF003']
console.log(str.split('')) // ['v', 'a', 'l', 'u', 'e', '=', 'Q', 'F', '0', '0', '1', '=', 'Q', 'F', '0', '0', '2', '=', 'Q', 'F', '0', '0', '3']
console.log(str.split(' ')) // ['value=QF001=QF002=QF003']
/**
* 12. trim
* 语法: 变量/字符串.trim()
* 作用: 去掉字符串左右两边的空格
* 返回值: 去掉空格后的字符串
*
* 13. trimStart/trimLeft
* 语法: 变量/字符串.trimStart() / 变量/字符串.trimLeft()
* 作用: 去掉字符串左边的空格 空格就是''符号里面到字符的空间
* 返回值: 去掉空格后的字符串
*
* 14. trimEnd/trimRight
* 语法: 变量/字符串.trimEnd() / 变量/字符串.trimRight()
* 作用: 去掉字符串右边的空格
* 返回值: 去掉空格后的字符串
*/ var str1 = ' 1 2 3 ' // 去掉的就是' '符号到字符的空格
/**
* 15. includes
* 语法: 变量/字符串.includes('要查询的一些字符')
* 作用: 用于判断字符串中是否包含一段字符
* 返回值: true/false
*
* 16. startsWith
* 语法: 变量/字符串.startsWith('要查询的一些字符')
* 作用: 用于判断字符串开头是否为指定的字符
* 返回值: true/false
*
* 17. endsWith
* 语法: 变量/字符串.endsWith('要查询的一些字符')
* 作用: 用于判断字符串结尾是否为指定的字符
* 返回值: true/false
*
* 18. repalce
* 语法: 变量/字符串.repalce('查找的字符串', '要替换的内容')
repalce('查找的字符串', '') 代表删除字符串
* 作用: 去字符串中找到一个指定的内容, 然后将新的内容替换过去
* 返回值: 修改好的字符串
/**
* 1. var str = 'XXX123XXX456XXX'
* 这个字符串中, XXX 是一个违禁词, 我们需要将 XXX 替换为 **
* 得到的内容: **123**456**
*
*
* 2. var str = 'XXX123YYY456ZZZ'
* 这个字符串中, XXX YYY ZZZ 全都是违禁词, 我们需要将 他们三个 替换为 **
* 得到的内容: **123**456**
*/
// 2. 这个字符串中, XXX YYY ZZZ 全都是违禁词, 我们需要将 他们三个 替换为 **
var str = 'XXX123YYY456ZZZ789abc'
var arr = ['XXX', 'YYY', 'ZZZ', 'abc', '789'] // 将违禁词组合为数组
arr.forEach(function (item) {
// console.log(item)
while (str.includes(item)) {
str = str.replace(item, '**')
}
})
console.log(str)
// 1. 这个字符串中, XXX 是一个违禁词, 我们需要将 XXX 替换为 **; 得到的内容: **123**456**
var str = 'XXX123XXX456XXX'
while (str.includes('XXX')) {
str = str.replace('XXX', '**')
//str.replace('XXX', '**') 的返回值给改变就数组也就是改变自身,作为再次运行的条件
/**只要满足条件'xxx'就会执行,不会检测到后面的
* 第一次执行: str === **123XXX456XXX
* 第二次执行: str === **123**456XXX
* 第三次执行: str === **123**456**
*
* 第四次执行, 条件不成立, 循环到此结束
*/
}
console.log(str)
padStart
// var str="a";
// 判断这个字符串长度是否满足指定的长度,如果不满足在前面补对应的字符
// console.log(str.padStart(2,"0"))
// 判断这个字符串长度是否满足指定的长度,如果不满足在后面补对应的字符
// console.log(str.padEnd(2,"0"))