(四)String对象
1.定义
用引号引起来的文本是字符串,String对象用于处理字符串
2.创建
①构造函数
var str = new String(‘abc’);
②语法糖
var str =‘得分23’
var txt = new String("string");
或者更简单方式:
var txt = "string";
3.属性
①length 字符串长度.
var str = 'a我b8 cd-3' ;
console.log(str.length); //9
②数字、字母、空格、汉字、负号、标点符号占1个长度
③字符串具有稳定性特征,length修改、赋值、改写都是无效的
④字符串每个元素可以用 字符串名[索引]来读取
总结:①汉字、字母、空格、特殊字符、数字占一个长度。负数是一个特殊字符+一个数字②和数组length的比较
同:从1开始的正整数
不同:数组的length可以修改/重新赋值,会影响数组,字符串具有稳定性,length修改无效
4.方法
①改变大小写2个
toUpperCase()
toLowerCase()
总结:只对字母有效,原字符串不变,改变大小写后的字符串是新字符串,整体改写
var str = "aBc";
var str2 = str.touppercase();//大写
var str3 = str.toLowercase();//小写
console.1og(str); //"aBc"
conso1e.log(str2);// 'ABC'
console.log(str3); // 'abc '
②截取字符/字符串6个掌握前3个
字符串.charAt()
字符串.charAt(索引号)返回索引号对应的字符1个返回最后的,中间的,都可以和length搭配使用
var str = 'abc4def';
str.charAt(O)//"a"取任意位置的
str.charAt(5)//"e"取任意位置的
str.charAt(str.length-1);//'f'取末尾1个
str.charAt(parseInt(str.length/2));// '4'取中间1个str.charAt(Math.floor(str. length/2));//'4’取中间1个
字符串.slice()
字符串.slice(开始索引,结束索引)开始索引必写,结束索引选写,不写默认是原字符串的lengt,包前不包后
var str = '12abc';
str.slice(2,5)// 'abc'
str.slice(4)// 'c'
字符串.substring()
用法同slice(), 区别是substring的参数不可以为负数,
为负数时不报错但结果不可控,
slice方法的结束索引参数可以为负数,负数表示从末尾开始
var str = 'm2abc ';
conso1e.log(str.slice(1,-1))// ' 2ab'
console.log(str.substring(1,-1))/ / 'm'结果不可控
字符串.substr()
字符串.substr(开始索引,子字符串的长度)
开始索引必写,可以为负数,负数表示从末尾开始,子字符串的长度
可选,不写默认是原字符串的length
var str = "abcde1234";
str.substr(1,4);// ' bcde '
str.substr(1);// ' bcde1234'
字符串.valueof()
返回原字符串
字符串.toString()
将括号里的内容加上引号,变成字符串,同数据类型转换里的String()
③返回索引2个
字符串.indexOf()
字符串.indexOf(指定字符/字符串’,从哪个索引开始查找)
第1个参数必写,第二个参数选写,不写默认是0,返回值是第1个参数从第2个参数索引开始,找到的首次出现的这个字符/字符串的索引,没有找到返回 -1
var str = 'abcdefg123g4 ';
console.log(str.indexof("g"));//6指定字符
console.log(str.indexof("g1"));//6字符串默认从索引0开始找,找到f后的g
console.log(str.indexof("g4",8));//10从索引8开始找,找到3后的g
console.log(str.indexof("g1",8));//-1― 没找到
字符串.lastlndexOf()
字符串.lastIndexOf(指定字符/字符串’,从哪个索引开始查找),
第1个参数必写,第二个参数选写,不写默认是length-1,返回值是第1个参数从
第2个参数索引开始从后往前找,找到的首次出现的这个字符/字符串的索引,没有找到返回-1
var str = 'abcdefg123g4 ';
console.1og(str.7astIndexof("g"));//10指定字符
console.log(str.7astIndexof("g1"));//6字符串默认从索引0开始找,找到f后的g
console.log(str.lastIndexof("g4",8));//-1 从索引8开始找,找到3后的g
console.log(str.lastIndexof("g1",8));//6没找到
④字符串.repeat(次数)
将字符串重复/复制指定次数,生成一个新字符串
⑤字符串.split()
将字符串切割为一个数组,返回的数组可以使用数组的各种方法
var str = "T Love You";//创建字符串
console.log(str.split();//["T Love You"]不传参,整个字符串作为数组的元素
var arr1 = str.split(" ");//传参,以所传参数,把字符串分割为数组的多个元素console.log(arr1); //["I","Love","You"]
var arr2 = arr1.reverse();//对数组使用翻转方法console.log(arr2);// ["You","Love","I"]
var str2 = arr2.join(" ");//对翻转后的数组使用join拼接为一个字符串console.log(str2);/ / 'You Love I'
⑥字符串.trim()
去掉字符串首尾的空格,注意字符串中间的空格不会被去掉
var str = 'abc123';
console.log(str);//'abc123'
var str2 = str.trim();//去掉字符串首尾的空格
console.log(str2)/ / 'abc 123'
(七)返回布尔值(三个)
①字符串名.startsWith(字符串) 是否以()内的字符串开始 ,返回布尔值
②字符串名.endsWith(字符串) 是否以()内的字符串结束 ,返回布尔值
17、字符串名.includes(指定字符串) 查找有没有指定子字符串 返回布尔值