创建字符串
-
字面量创建
- var str = 'abc'
-
函数构造
-
字符串也有length和索引,代表的意义和数组是一样的
-
字符串可以通过索引获取到指定位置上的值,但是是只读的,修改不了
字符串的常用方法
- charAt
- 语法:字符串.charAt(索引)
- 作用:查询指定下标的值
- 返回值:查询到的值,如果没有查找到就是一个 空字符串
- charCodeAt
- 语法:字符串.charCodeAt(索引)
- 作用: 查询指定下标的值 对应的十进制码
- 返回值: 查询到的值对应的十进制码,如果没有查询到返回NaN
- toLowerCase
- 语法: 字符串.toLowerCase()
- 作用: 将这个字符串转换为小写
- 返回值: 转换后的字符串
- toUpperCase
- 语法: 字符串.toUpperCase
- 作用: 将这个字符串转换为大写
- 返回值: 转换后的字符串
- substr
- 语法: 字符串.substr(开始索引,多少个)
- 作用: 截取指定的字符串
- 返回值: 截取到的字符串
- 注意:
- 官方说明,这个方法将来某一天会删除,建议使用 substring
- substring
- 语法: 字符串.slice(开始索引,结束索引)
- 作用: 截取指定的字符串
- 返回值: 截取到的字符串
- 注意:
- 1: 参数包前不包后
- 2: 结束索引可以不写,默认是length
- slice
- 语法: 字符串.slice(开始索引,结束索引)
- 作用: 截取指定字符串
- 返回值: 截取到的字符串
- 注意:
- 1: 参数包前不包后
- 2: 结束索引可以不写
- 3: 开始索引可以不写,相当于写了0
- 4: 结束索引支持写负数,相当于length + 负数
- concat
- 语法: 字符串.concat(数据1,数据2,数据3...)
- 作用: 将字符串和参数传递的数据进行拼接
- 返回值: 拼接后的字符串
- indexOf
- 语法: 字符串.indexOf(数据,开始下标)
- 作用: 寻找数据在字符串第一次出现的位置
- 返回值: 找到的数据的索引,如果没有找到返回-1
- 注意:
- 第二个参数可以不传递,默认为0
- lastIndexOf
- 语法:字符串.lastIndexOf(数据,开始索引)
- 作用: 寻找数据在字符串中的位置(从后往前)
- 返回值: 找到的数据的索引,如果没有找到返回-1
- 注意:
- 第二个参数可以不传递,默认为length - 1
- split
- 语法: 字符串.split('符号')
- 作用: 在字符串中找到这个符号,然后将这个字符串分割,并放在一个数组内
- 返回值: 一个数组
- 注意:参数如果传递的是一个空字符串 '' ,那么会将字符串全部分隔开
- 如果传递的符号字符串内没有,那么会将整个字符串放在数组内
- trim
- 语法: 字符串.trim()
- trimStart
- 作用: 去掉字符串两侧的空格
- 返回值: 去掉空格后的字符串
- trimStart
- 语法: 字符串.trimStart()
- 作用: 去掉字符串开始时候的空格
- 返回值: 去掉空格后的字符串
- trimEnd
- 语法: 字符串.trimEnd()
- 作用: 去掉字符串结尾的空格
- 返回值: 去掉空格后的字符串
- includes
- 语法: 字符串.includes(字符串片段)
- 作用: 判断当前字符串中,是否拥有指定字符串片段
- 返回值: 一个布尔值
- startsWith
- 语法: 字符串.startsWith(字符串片段)
- 作用: 判断字符串的开头是不是指定片段
- 返回值: 一个布尔值
- endsWith
- 语法: 字符串.endsWith(字符串片段)
- 作用: 判断字符串的结尾是不是指定片段
- 返回值: 一个布尔值
- replace
-
语法: 字符串.replace(要被替换的值,替换的值)
-
作用: 找到字符串中的第一个参数,然后替换成第二个参数
-
返回值: 替换后的字符串, 如果没有找到第一个参数,那么返回的是原字符串
-
// 1: charAt 查询指定下标值
var str = 'abcd'
console.log(str.charAt(1));
var str1 = str.charAt(20)
console.log(str1); //空字符串,因为没有20这个索引
// 2: charCodeAt 值对应的十进制码
var str = 'qwer'
console.log(str.charCodeAt(1));
var str1 = str.charCodeAt(50)
console.log(str1); //NaN
// 3: toLowerCase 转换为小写
var str = 'QWER'
console.log(str.toLowerCase());
// 4: toUpperCase 转换为大写
var str = 'asdf'
console.log(str.toUpperCase());
// 5: substr 截取的字符串
var str = 'asdfghjkl'
console.log(str.substr(0,2)); //从索引0开始,截取两个
console.log(str.substr(3,3));
// 6: substring 截取字符串
var str = 'qwertyuiop'
var str1 = str.substring(0,5)
console.log(str1);
var str2 = str.substring(0)
console.log(str2);
var str3 = str.substring()
console.log(str3);
// 7: slice 截取字符串
var str = 'zxcvbnm'
var str1 = str.slice(1,5)
console.log(str1);
var str2 = str.slice()
console.log(str2);
var str3 = str.slice(2,-2)
console.log(str3);
// 8: concat 拼接字符串
var str = 'qwer'
console.log(str.concat('a','s','d','f'));
// 9: indexOf 查找索引
var str = 'qwer'
// var str1 = str.indexOf('q',1) //这里因为设置的是从索引1开始查找,但是q是索引0,所以找不到
// console.log(str1); //这里值会返回-1
// var str2 = str.indexOf('r',0)
// console.log(str2); //3
var str3 = str.indexOf('w')
console.log(str3);
// 10: lastIndexOf 查找索引
var str = 'asdfgh'
var str1 = str.lastIndexOf('f',1) //这里是设置的从下标1开始查找,但是是从右往左,所以找不到
console.log(str1); //值会返回-1
var str2 = str.lastIndexOf('g') //这里没写第二个参数,默认length -1
console.log(str2);
var str3 = str.lastIndexOf('d',3)
console.log(str3);
// 11: split 分割字符串放入数组
var str = 'qwer, tyui, op, asdf, ghjk'
var str1 = str.split(',')
console.log(str1);
var str2 = str.split(' ')
console.log(str2);
var str3 = str.split('o')
console.log(str3);
var str4 = str.split('')
console.log(str4);
// 12: trim 去掉字符串两侧的空格
var str = ' a b c '
console.log(str.trim());
// 13: trimStart 去掉字符串开始的空格
var str = ' a b c '
console.log(str.trimStart());
// 14: trimEnd 去掉字符串结束位置的空格
var str = ' a b c '
console.log(str.trimEnd());
// 15: includes判断
var str = 'qwertyuiop'
console.log(str.includes('tyu'));
console.log(str.includes('tyuo'));
// 16: startsWith 判断开头
var str = 'qwertyuiop'
console.log(str.startsWith('qw'));
console.log(str.startsWith('wer'));
// 17: endsWith 判断结尾
var str = 'qwertyuiop'
console.log(str.endsWith('p'));
console.log(str.endsWith('o'));
// 18: replace 替换
var str = 'abcdefg'
var str1 = str.replace('abc','qwe')
console.log(str1);
var str2 = str.replace('qwe','123')
console.log(str2);