主要的区别就在于当传入的值为负数时,他们之间的处理方式不一样;
例:
var oStringObject = new String("hello world");
alert(oStringObject.slice("-3")); //输出 "rld"
alert(oStringObject.substring("-3")); //输出 "hello world"
alert(oStringObject.slice("3, -4")); //输出 "lo w"
alert(oStringObject.substring("3, -4")); //输出 "hel"
slice的负数为倒数开始算;
而substring()的负数为真正的0之前;