子串和子串有什么区别

What is the different between substr and substring?

本文关键字:子串 区别 什么      更新时间:2023-09-26

可能的重复项:
子串和子串有什么区别?

我只想澄清以下差异:-

alert("abc".substr(0,2));
alert("abc".substring(0,2));

上述情况都将返回

ab

alert("abc".substr(1,2));
alert("abc".substring(1,2));

上述情况将返回第一个bc,第二个b

所以基本上对于substr第二个参数是它必须走的长度?对于substring它会停止但不包括??

如果我错了,请纠正我,因为我们今天将有一个测验,我不想再犯这个错误。

是的,substr() 的第二个参数是所需子字符串的长度,而substring()的参数是字符索引,这一事实通过网络搜索很容易找到。

鲜为人知的是,substr()是非标准的(包括 ECMAScript 5;ES3 和 ES5 在 substr() 上有一些非规范性部分,并且在旧版本的 IE 中有一些错误。此外,slice()substring()更可取,因为它允许负字符索引,从字符串末尾向后计数:

alert( "Dandelion".slice(-4) ); // Alerts "lion"

是的,substring转到索引,而substr转到长度。

根据以下链接:

http://rapd.wordpress.com/2007/07/12/javascript-substr-vs-substring/

Substr采用起始索引和您尝试分段的字符串的长度

Substring 采用起始索引和您希望它将字符串分段到的索引