首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。直接看下面例子:javascript
这里有个须要注意的地方就是:substring是以两个参数中较小一个做为起始位置,较大的参数做为结束位置。java
如:post
alert(test.substring(7,4));
//o w
|
接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果做为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果做为第一个参数;substring则干脆将负参数都直接转换为0。测试代码以下:测试