Примечание: если вы спешите и / или ищете короткий ответ, прокрутите его до конца и прочитайте две последние строки. Если не спешите, прочитайте все целиком.
позвольте мне начать с констатации фактов:
Синтаксис:
string.slice(start,end)
string.substr(start,length)
string.substring(start,end)
Примечание № 1: slice()==substring()
Что это делает?
Метод slice()
извлекает части строки и возвращает извлеченные части в новой строке.
Метод substr()
извлекает части строки, начиная с символа в указанной позиции, и возвращает указанное количество символов.
Метод substring()
извлекает части строки и возвращает извлеченные части в новой строке.
Примечание № 2: slice()==substring()
Изменяет исходную строку?
slice()
Не
substr()
не
substring()
Не
Примечание № 3: slice()==substring()
Использование отрицательных чисел в качестве аргумента:
slice()
выбирает символы, начиная с конца строки
substr()
выбирает символы, начиная с конца строки
substring()
не выполняет
Примечание № 3: slice()==substr()
если первый аргумент больше второго:
slice()
не выполняет
substr()
, поскольку Второй Аргумент - это НЕ позиция, а значение длины, он будет работать как обычно, без проблем
substring()
поменяет два аргумента и будет работать как обычно
Первый аргумент:
slice()
Обязательно, указывает: Начальный индекс
substr()
Обязательно, указывает: Начальный индекс
substring()
Обязательно, указывает: Начальный индекс
Примечание № 4: slice()==substr()==substring()
Второй аргумент:
slice()
Необязательно, Позиция (до, но не включая), где заканчивается извлечение
substr()
Необязательно, Количество символов для извлечения
substring()
Необязательно, позиция (до, но не включая), где заканчивать извлечение
Примечание № 5: slice()==substring()
Что если второй аргумент опущен?
slice()
выбирает все символы от начальной позиции до конца строки
substr()
выбирает все символы от начальной позиции до конца строки
substring()
выбирает все символы от начальной позиции до конца строки
Примечание № 6: slice()==substr()==substring()
Итак, вы можете сказать, что есть разница между slice()
и substr()
, в то время как substring()
в основном является копией slice()
.
в резюме:
если вы знаете индекс (позицию), на которой вы остановитесь (но НЕ включите), используйте slice()
если вы знаете длину символов для извлечения, используйте substr()
.