var str = "hello world";
console.log(str.slice(3)); //"lo world"
console.log(str.substring(3)); //"lo world"
console.log(str.substr(3)); //"lo world"
console.log(str.slice(3,7)); //"lo w"
console.log(str.substring(3,7)); //"lo w"
console.log(str.substr(3,7)); //"lo worl"
在传递给这些方法的参数是负数的情况时,他们的行为就不相同了。
````
var str = "hello world";
console.log(str.slice(-3)); //"rld"
console.log(str.substring(-3); //"hello world" 此方法的参数是负数都转换为0
console.log(str.substr(-3)); //"rld"
console.log(str.slice(3,-4)); //"lo w"
console.log(str.substring(3,-4)); //"hel" 此方法会将较小的数作为开始位置
console.log(str.substr(3,-4)); //""(空字符串)