博主是去年从零基础开始接触C#,所以记录了很多比较基础的东西,故将之前的笔记写于此篇。本人才疏学浅,文中如果有不对或值得讨论的地方,欢迎大家提出来,一起探讨共同进步。?????
区别
slice ( ) 和 substring ( ) 的第二个参数,都表示截取字符串的结束位置
substr ( ) 的第二个参数代表的是,要截取的字符串位数
1.传入一个参数时,都表示从指定下标,截取字符串长度,直到字符串最后一个字符
var str = 'hello sarahshine!';
console.log(str.slice(3)); // 'lo sarahshine!'
console.log(str.substring(3)); // 'lo sarahshine!'
console.log(str.subtr(3)); // 'lo sarahshine!'
2.传入的参数是正数时
var str = 'hello sarahshine!';
console.log(str.slice(3,7)); // 'lo s'
console.log(str.substring(3,7)); // 'lo s'
console.log(str.substr(3,7)); // 'lo sara'
3.传入的参数是负数时
slice()
会把所有的负数参数加上字符串的长度值,如:str.slice(-3) 相当于 str.slice(14)
substring()
会把所有的负数参数都转为0
substr()
会把第一个参数的负值加上字符串的长度值,第二个参数的负值转为0 (毕竟第二个参数是要截取的字符串长度,总不能为负数吧)
var str = 'hello sarahshine!'; //length = 17
//只传入一个负数
console.log(str.slice(-3)); // 'ne!' 相当于str.slice(14)
console.log(str.substring(-3)); // 'hello sarahshine!' 相当于str.substring(0)
console.log(str.substr(-3)); // 'ne!' 相当于str.substr(14)
//传入两个负数
console.log(str.slice(-3, -1)); // 'ne' 相当于str.slice(14,16)
console.log(str.substring(-3, -1)); // '' 相当于str.substring(0,0)
console.log(str.substr(-3, -1)); // '' 相当于str.substr(14,0)
//传入一正一负
console.log(str.slice(3, -4)); // 'lo sarahsh' 相当于str.slice(3,13)
console.log(str.substring(3, -4)); // 'hel' 相当于str.substring(3,0) 即(0,3)
console.log(str.substr(3, -4)); // '' 相当于str.substr(3,0)
〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰
更多博客内容请查看 ? 可可西里的博客
如果喜欢的话可以点个赞和关注嗷~ ????