В чем разница между slice() и substr() в JavaScript?
могу я спросить, в чем разница между string объект slice() и substr() в JavaScript?
5 ответов
у них разные подписи,.slice() - это:
string.slice(beginIndex, endIndex)
, тогда как .substr() - это:
string.substr(beginIndex, length);
так, например, если у нас есть "1234" и хотел "23", это будет выглядеть так:
"1234".slice(1,3)
//or...
"1234".substr(1,2)
они также имеют различное поведение на более-редко используется отрицательный индексы, посмотрите документацию MDC для .slice() и .substr() для полного описания.
-
String.slice(begin, end)этот метод будет вырезать текст из
begintoendchar, например.:alert("Hello World!".slice(1, 8)); // ello Wo -
String.substr(begin, length)этот метод будет вырезать текст из
begintobegin+lengthchar, например.:alert("Hello World!".substr(1, 8)); // ello Wor
var str="Hello world!";
document.write(str.substring(3,7)+"<br />");
document.write(str.slice(3,7)+"<br />");
document.write(str.substr(3,7));
результат:
lo w
lo w
lo worl
Substring ()
1.Если start равен stop, он возвращает пустую строку. 2.Если stop опущен, он извлекает символы в конец строки. 3.Если start > stop, то подстрока поменяет эти 2 аргумента. 4.Если какой-либо из аргументов больше длины строки, любой из аргументов будет использовать длину строки. 5.Если любой из аргументов меньше 0 или NaN, он рассматривается как 0.
slice ()
1.Если start равен stop, возвращается пустое значение string, точно как substring (). 2.Если stop опущен, slice извлекает символы в конец строки, точно так же, как substring(). 3.Если start > stop, slice () не будет менять местами 2 аргумента. 4.Если какой-либо из аргументов больше длины строки, любой из аргументов будет использовать длину строки, точно так же, как substring().
Я думаю, разница между str.slice() и str.substr() второй параметр:
.slice() принимает EndIndex в то время как .substr() имеет длину, как в:
.slice(StartIndex,EndIndex) и .substr(StartIndex,length).