今天重新回顾了JS高级程序设计 操作字符串有个有点意思的东西 分享下
var a = 'hello world'
a.substring(3) // lo world
a.substr(3) // lo world
a.slice(3) // lo world
a.substring(-3) // hello world
a.substr(-3) // rld
a.slice(-3) // rld
可能大家出的比较多的应该是 substring , 这里需要注意的是 当substring 为负数的时候,其实可以当成0来算,也就是a.substring(0) 那当然就是 hello world
这个实在so easy 那我们来2个参数
a.substring(3, 7) // lo w
a.substr(3, 7) // lo worl
a.slice(3, 7) // lo w
a.substring(3, -4) // hel
a.substr(3, -4) // "" 空字符串
a.slice(3, -4) // lo w
可能后面三个错的比较多
第一个substring 第二个参数为负数所以当成0 也就是 a.substring(3,0) substring 是干从小到大的顺序来的 也就变成了 a.substring(0,3) 所以就为hel了
第二个substr, 第二个参数为负数所以要当成0 ,那么substr(3,0) 就是说从第三个位置取0个 那当然就是空字符串呢
第三个slice ,第二哥参数为负数所以要当成总数-4 来看 就是 11-4 = 7 就为a.slice(3,7) 所以就为 low
简单吧~~~~
^_^