concat()
concat():用于将一个或多个字符串拼接成一个新的字符串
let str = 'hello world';
let res = str.concat('!')
console.log(res);//hello world!
slice()/substring()/substr()
这三个方法都是返回调用它的字符串的一个子字符串,都不影响原字符串,都可以传入一或者两个参数,若省略第二个参数则截取到字符串末尾
参数都是正数
slice()/substring():第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置。
substr():第一个参数是子字符串的开始位置第二个参数是子字符串的长度
// 两个单词之间有一个空格
let str = 'hello world';
// 省略第二个参数,直接截取到末尾
// let str1 = str.slice(2);
// let str2 = str.substr(2);
// let str3 = str.substring(2);
// console.log('str1:' + str1);//llo world
// console.log('str2:' + str2);//llo world
// console.log('str3:' + str3);//llo world
let str1 = str.slice(2, 5);
let str2 = str.substr(2, 5);//第二参数:子字符串的长度为5
let str3 = str.substring(2, 5);
console.log('str1:' + str1);//llo
console.log('str2:' + str2);//llo w
console.log('str3:' + str3);//llo
参数含有负数
slice():所有参数负值都将转成字符串长度加上负参数值;
substring():将所有的负参数值都转换为0;将较小的参数作为起点,较大的参数作为终点
substr():第一个参数为负数则转换成字符串长度加上该值,第二参数是负值则转换成0(值为0则返回的字符串长度为0,则返回空字符串 )
let str = 'hello world';
console.log(str.length);//11
// let str1 = str.slice(-5);//11+(-5)=6
// let str2 = str.substr(-5);//11+(-5)=6
// let str3 = str.substring(-5);//0
// console.log('str1:' + str1);//world
// console.log('str2:' + str2);//world
// console.log('str3:' + str3);//hello world
let str1 = str.slice(2, -5);//2,11+(-5)=6
// let str2 = str.substr(2, -5);//2,0
let str2 = str.substr(-5, 5);//11+(-5)=6,5
let str3 = str.substring(2, -5);//2,0==》0,2
console.log('str1:' + str1);//llo
console.log('str2:' + str2);//world
console.log('str3:' + str3);//he