如果starPos为负数且绝对值大于字符串长度,starPos为0?怎么理解

来源:7-11 提取指定数目的字符substr()

qq_miaomiaodoub_0

2016-08-11 16:00

 如果starPos为负数且绝对值大于字符串长度,starPos为0。

看了一下w3school,看到:“重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。”

意思是:starPos的值无效时,规定为第0个字符位置吗?

写回答 关注

4回答

  • ergfsersdf
    2016-08-11 16:49:05
    已采纳

    首先   你已经看不到IE4了现在,然后starPos最好理解的方式就是这个方法一般都是不会用在出现负数的情况上面,而一般情况只需要考虑正数或者指定字符串之后的正数的情况比较多。

    然后来说一下starPos的绝对值的问题,starPos值的绝对值如果超过了字符串的最长长度的大小,这个值默认0,就是字符串的第一个开始截取你需要的字符串,如果starPos为负且正好绝对值是length-1那么截取位置其实本质也是0。

    解释完了  : )

    qq_mia...

    O(∩_∩)O谢谢

    2016-08-12 14:14:08

    共 1 条回复 >

  • 慕村1994845
    2016-09-20 21:10:53

    比方数组长度为7,startPos为-8;那么我这样理解,从尾部开始往头部数,-1,-2,-3...当数到头部第一位时,动作会停止,然后取值首位,而首位的检索号就是0,那么此时startPos为0

    qq_mia...

    恩恩,是的

    2016-09-21 15:34:10

    共 1 条回复 >

  • 我有酒和故事
    2016-08-11 17:17:53

    一般都是ie 8以上了

    qq_mia...

    恩恩,谢谢

    2016-08-12 13:58:39

    共 2 条回复 >

  • 小钱boss
    2016-08-11 16:46:11

    也不知道呢,没碰到这个问题,兼容的问题现在不考虑IE以下了

    qq_mia...

    O(∩_∩)O谢谢

    2016-08-12 13:59:39

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题