我只想澄清以下差异:-
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它会停止但不包括?
如果我错了,请纠正我,因为我们今天会有一个测验,我不想再犯这个错误了。
我只想澄清以下差异:-
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需要一个起始索引和您希望它分割字符串的索引