Примечание: если вы спешите и / или ищете короткий ответ, прокрутите до конца ответа и прочитайте последние две строки. Если не спешите, прочитайте все это.
позвольте мне начать с констатации фактов:
Синтаксис:
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()
.
slice
- та, с наименьшим неожиданным поведением.