String的substring方法使用的时候需要注意什么?

59 阅读1分钟

MDN:substring(startIndex,endIndex)方法返回该字符串从startIndexendIndex(不包括)的部分,如果未提供结束索引,则返回到字符串末尾的部分。

注意点1:“左闭右开” 取值

具体取值方案:

  • 如果省略了 indexEnd,则 substring() 提取字符直到字符串的末尾。
  • 注意点2:如果 indexStart 等于 indexEnd,则 substring() 返回一个空字符串。 返回的是空字符串!!
  • 注意点3:如果 indexStart 大于 indexEnd,则交换这两个参数

譬如

'sustring'.substring(1,0); // 结果是:s
//等价于
'sustring'.substring(0,1); // 结果是:s

注意点4:任何小于 0 或大于 str.length 的参数值最后值是 0 和 str.length

如果 注意点 3和4同时存在的结果是什么样?请看下面代码

'sustring'.substring(10,-1); // 结果是:'sustring'
//等价于
'sustring'.substring(0,8); 或者 'sustring'.substring(0)

注意5:任何值为 NaN的参数将被视为等于 0