我在Codecademy,我正在学习JavaScript。我在子字符串上,我知道如何做它们,但我想知道为什么子字符串从indexA中提取字符,但不包括indexB。为什么它包含indexA,但只有最多 indexB?
请使用最好的外行人的术语,因为我对这门语言知之甚少(我只熟悉HTML和CSS)。
答案 0 :(得分:1)
那是因为它的设计方式。 Here's some documentation from MDN
"Hello World".substring(0,5) //Hello
简单地说
获取以第一个索引处的字符开头(并包括)的子字符串,并在第二个索引处结束(但不包括)字符。
答案 1 :(得分:1)
var longString = "this is a long string";
var substr1 = longString.substring(0, 4); //"this"
var substr2 = longString.substring(4, 8); //" is "
这是有道理的,因为第二个子串从第一个离开的位置开始,而不是在两个子串中复制相同的字母两次。例如,它使它在循环中更有用。
此外,正如大家一直指出的那样,因为“它的确定方式......”
答案 2 :(得分:0)
嗯,该方法是以这种方式定义的。从indexA提取到indexB但不包括。
答案 3 :(得分:0)
在Javascript中有两个不同的函数来提取子字符串。一个有长度,另一个有索引开始和停止。
String.substring( from [, to ] )
String.substr( start [, length ] )
在所有情况下,第二个参数都是可选的。如果未提供,则子字符串将由字符串末尾的起始索引组成。
请仔细阅读这篇文章。
http://www.bennadel.com/blog/2159-Using-Slice-Substring-And-Substr-In-Javascript.htm