В чем разница между 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)
этот метод будет вырезать текст из
begin
toend
char, например.:alert("Hello World!".slice(1, 8)); // ello Wo
-
String.substr(begin, length)
этот метод будет вырезать текст из
begin
tobegin
+length
char, например.: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).