Slice,substring,substr的仨事

首先这三个函数的出现而来的目的就是为了获取字符串的字符。
相同点就是都有有两个参数

slice(BeginSlice, EndSlice);
substring(indexStart, indexEnd);
substr(index, length);

让它们发生更本变化的就是传入的那两个参数。通过how to use them去对比发现的。
一开始自己肯定要先明白每一个概念的含义以及使用方法,如果看了就继续往下一个函数看,收获我想也不大。
看看相同点

//如果开始索引与结束索引一样会返回""
var str = 'Mozilla';    
str.slice(1,1);//""
str.substring(1,1);//这两个函数返回的结果是 ""

//如果结束索引被忽略了,那么获取字符串将进行到字符串的结尾
str.slice(0);
str.substring(0);

//截取字符串不包括结束索引的值
str.slice(0,2);//'Mo' 没有取到'z'的值
str.substring(0,2);//'Mo'

substring的不同

//substring如果参数小于0或者是NaN,当作0来处理,可以试试看
str.substring(-1,2);//'Mo'
str.substring(NaN,2);//'Mo'
str.substring(0,2);//'Mo'
 
//如果indexStart > indexEnd,那么两者会交换位置
str.substring(10,2) == str.substring(2,10);//true

slice的不同

//如果beginSlice索引为负数,那么会被处理为str.length + beginSlice
str.slice(-2,-1);//等一下行代码
str.slice(str.length-2, str.length-1);

//如果begin > end,不管是正数还是负数都返回为""
str.slice(5,2);//""
str.slice(-2,-5);//""

substr

  //第一Index为负数时,处理为str.length + Index
  str.substr(-4,5);
  str.length(str.length-4,5);

  //第一个索引为NaN时当作零来处理
  str.substr(NaN,5) == str.substr(0,5);

  //当第二个参数为负数或者NaN或者零时,返回""
  str.substr(2,0);//""
  str.substr(2,NaN);//""
  str.substr(2,-1);//""

真的好难写一篇技术文章呀,我的天呐没掌握全不敢写出来呀。真的一点逻辑也没有感觉

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容