slice 、 substr 、replace

slice( 参数1  [,参数2] )        (注意不要让【参数1】下标越过【参数2】下标,否则会得到空字符串,且【参数2】是不包含在截取范围内的)

参数1:截取字符的【起始下标】。

   值为,则找到对应下标 。例如值为 1,则是字符串从第二个字符开始截取,如 “abcd”,slice(1,2)    -->    "b"  ,值为正时,数值是 从 0 开始往后面数;

    

 

   值为,则从后面倒数着往前面找起始下标位置。例如值为 -4,则是从字符串倒数第四个数开始进行截取,如 " 123456 " , slice(-4,4)     -->    "34"  ,故当值为负数时,值是从1开始。也就是将参数1取绝对值,然后再依次往前面数个数即可,无需再将参数1的值从 0 开始  。  

    下图的 str.length 为 17 

    

  参数2:截取字符的【结束下标】,此参数为可选,若没有此参数,则从起始下标位置开始,截取到字符串末尾 。

  值为,寻找到对应下标即可,但切记,并不包含当前位置,而是当前位置的前一位下标。例如 "123456"  , slice(2,4)  --->  “34”

    

  值为,下标的处理与参数1一样。

    

 

var str = "123456";

str.slice(2,-4)   --->   ""  

解析:因为当【参数2】为 -4 时,找到的是 str 中的字符 “3” ,字符 “3” 所在的下标为 2。但是,因为截取的字符是不包含【参数2】所对应下标的,所以下标需要 减1 。所以值为 -4 时, 所截取的字符变为 从下标2开始截取到下标1 ,这显然是不可能取得值。所以,此时【参数1】 的下标 2,已经越过 【参数2】 的下标 1,故为 空字符串。

str.slice(2,-3)   --->   "3"

解析: 而当【参数2】为 -3 时,找到字符 “4” 所在的下标 3,但因为【参数2】没有被包含在截取字符中的特殊性,下标需要 减1,所以实际被截取的结束位置是 下标2 的位置。所以为 -3 ,截取的字符就是 从下标2开始截取到 下标2 的位置,得到字符 “3” 。 

 

 

substr( 参数1,参数2)

参数1:截取字符串的起始位置,从 0 开始。

  值为,从下标0开始寻找对应下标即可。例如 "123456" , str.substr(4,1);   --->   "5" 

  值为,将值取绝对值,然后依次往前面数 值的个数即可 。  str.substr(-4,1);   ---->   “3"

    

 

 参数2:截取字符的个数。可选,若无此参数,则从起始位置,截取到字符串末尾。不能为负数 

 

replace:替换字符(暂不是很明白,只生简略记录下)

replace( 参数1,参数2 )(默认情况只替换匹配到的第一个匹配项,若使用了正则表达式之类的特殊符号,后续记录

参数1:为原字符中需要替换为新字符的已有的字符

参数2:为需要替换成的新字符

 

posted @ 2017-11-20 11:52  前端开发小姐姐  阅读(220)  评论(0)    收藏  举报