substr和substring有什么区别?
有什么区别
alert("abc".substr(0,2));
和
alert("abc".substring(0,2));
他们都似乎输出“ab”。
不同之处在于第二个参数。 substring
的第二个参数是要停止的索引(但不包括),但substr
的第二个参数是要返回的最大长度。
链接?
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substr
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring
substr
(MDN)将参数作为(from, length)
。
substring
(MDN)将参数作为(from, to)
。
alert("abc".substr(1,2)); // returns "bc"
alert("abc".substring(1,2)); // returns "b"
你可以记得substring
需要索引,就像另一个字符串提取方法slice一样。
从0开始时,您可以使用任一方法。
正如yatima2975的回答暗示的那样,还有一点不同:
substr()
接受一个负的起始位置作为从字符串末尾的偏移量。 substring()
不。
来自MDN:
如果start是负数,substr()将它用作字符串末尾的字符索引。
因此总结功能差异:
substring(begin-offset, end-offset-exclusive)
,其中begin-offset为0
或更大
substr(begin-offset, length)
其中begin-offset也可能是负数