Подтвердить что ты не робот

В чем разница между slice() и substr() в JavaScript?

Можно ли спросить, какая разница между строковым объектом slice() и substr() в JavaScript?

4b9b3361

Ответ 1

У них разные подписи, .slice():

string.slice(beginIndex, endIndex)

В то время как .substr():

string.substr(beginIndex, length);

Так, например, если мы имеем "1234" и хотели "23", это было бы:

"1234".slice(1,3)
//or...
"1234".substr(1,2)

У них также есть другое поведение для более редко используемых отрицательных индексов, посмотрите документацию MDC для .slice() и .substr() для полных описаний.

Ответ 2

  • String.slice(begin, end)

    Этот метод вырезает текст от begin до end char, например.:

    alert("Hello World!".slice(1, 8)); // ello Wo
    
  • String.substr(begin, length)

    Этот метод вырезает текст от begin до begin + length char, например:

    alert("Hello World!".substr(1, 8)); // ello Wor
    

Ответ 3

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

Ответ 4

подстроку()

1. Если start равно stop, он возвращает пустую строку.  2. Если остановка опущена, она извлекает символы в конец строки.  3. Если start > stop, то подстрока заменит эти 2 аргумента.  4.Если аргумент больше длины строки, любой аргумент будет использовать длину строки.  5. Если любой аргумент меньше 0 или NaN, он обрабатывается так, как если бы он был 0.

срез()

1. Если start равно stop, он возвращает пустую строку точно так же, как substring().  2. Если остановка опускается, срез извлекает символы в конец строки, точно так же, как substring().  3. Если start > stop, slice() не заменит 2 аргумента.  4. Если любой аргумент больше длины строки, любой аргумент будет использовать длину строки, точно так же, как substring().

Ответ 5

Я думаю, что разница между str.slice() и str.substr() является вторым параметром:

.slice() принимает EndIndex, а .substr() занимает длину, как в:

.slice(StartIndex,EndIndex) и .substr(StartIndex,length).