如果starPos为负数且绝对值大于字符串长度,starPos为0。
看了一下w3school,看到:“重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。”
意思是:starPos的值无效时,规定为第0个字符位置吗?
首先 你已经看不到IE4了现在,然后starPos最好理解的方式就是这个方法一般都是不会用在出现负数的情况上面,而一般情况只需要考虑正数或者指定字符串之后的正数的情况比较多。
然后来说一下starPos的绝对值的问题,starPos值的绝对值如果超过了字符串的最长长度的大小,这个值默认0,就是字符串的第一个开始截取你需要的字符串,如果starPos为负且正好绝对值是length-1那么截取位置其实本质也是0。
解释完了 : )
比方数组长度为7,startPos为-8;那么我这样理解,从尾部开始往头部数,-1,-2,-3...当数到头部第一位时,动作会停止,然后取值首位,而首位的检索号就是0,那么此时startPos为0
一般都是ie 8以上了
也不知道呢,没碰到这个问题,兼容的问题现在不考虑IE以下了