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也可能是负数
