Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Оснащения врачебно-сестринской бригады.
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
2019-05-27 | 122 |
5.00
из
|
Заказать работу |
|
|
В JavaScript существуют целых 3 (!) метода для взятия подстроки, с небольшими отличиями между ними.
substring(start, end)
Метод substring(start, end) возвращает подстроку с позиции start до, но не включая end.
var str = "stringify";
alert(str.substring(0,1)); // "s", символы с позиции 0 по 1 не включая 1.
Если аргумент end отсутствует, то идет до конца строки:
var str = "stringify";
alert(str.substring(2)); // ringify, символы с позиции 2 до конца
substr(start, length)
Substr(start,number)
Первый аргумент имеет такой же смысл, как и в substring, а второй содержит не конечную позицию, а количество символов.
var str = "stringify";
str = str.substr(2,4); // ring, со 2-й позиции 4 символа
alert(str)
Если второго аргумента нет – подразумевается «до конца строки».
slice(start, end)
Возвращает часть строки от позиции start до, но не включая, позиции end. Смысл параметров – такой же как в substring.
Отрицательные аргументы
Различие между substring и slice – в том, как они работают с отрицательными и выходящими за границу строки аргументами:
Substring
Отрицательные аргументы интерпретируются как равные нулю. Слишком большие значения усекаются до длины строки:
alert("testme".substring(-2)); // "testme", -2 становится 0
Кроме того, если start > end, то аргументы меняются местами, т.е. возвращается участок строки между start и end:
alert("testme".substring(4, -1)); // "test"
// -1 становится 0 -> получили substring(4, 0)
// 4 > 0, так что аргументы меняются местами -> substring(0, 4) = "test"
Slice
Отрицательные значения отсчитываются от конца строки:
alert("testme".slice(-2)); // "me", от 2 позиции с конца
alert("testme".slice(1, -1)); // "estm", от 1 позиции до первой с конца.
Это гораздо более удобно, чем странная логика substring.
Отрицательное значение первого параметра поддерживается в substr во всех браузерах, кроме IE8-.
|
Если выбирать из этих трёх методов один, для использования в большинстве ситуаций – то это будет slice: он и отрицательные аргументы поддерживает и работает наиболее очевидно.
Специальные символы
Строки могут содержать специальные символы, которые позволяют форматировать текст прямо из кода.
Самый часто используемый из таких символов – это «перевод строки».
Он обозначается как \n, например:
alert('Привет\nМир'); // выведет "Мир" на новой строке
Есть и более редкие символы, вот их список:
Специальные символы
Экранирование специальных символов
Если строка в одинарных кавычках, то внутренние одинарные кавычки внутри должны быть экранированы, то есть снабжены обратным слешем \', вот так:
var str = 'I\'m a JavaScript programmer';
В двойных кавычках – экранируются внутренние двойные:
var str = "I'm a JavaScript \"programmer\" ";
alert(str); // I'm a JavaScript "programmer"
Экранирование служит исключительно для правильного восприятия строки JavaScript. В памяти строка будет содержать сам символ без '\'.
Сам символ обратного слэша '\' является служебным, поэтому всегда экранируется, т.е пишется как \\:
var str = ' символ \\ ';
alert(str); // символ \
Заэкранировать можно любой символ. Если он не специальный, то ничего не произойдёт:
alert("\a"); // a
// идентично alert("a");
Логическое преобразование
Преобразование к true/false происходит в логическом контексте, таком как if(…) или других подобных местах, и при применении логических операторов.
Все значения, которые интуитивно «пусты», становятся false. Их несколько: 0, пустая строка, null, undefined и NaN.
Остальное, в том числе и любые объекты – true.
Полная таблица преобразований:
Таблица логических преобразований | |
Значение | Преобразуется в |
undefined, null | false |
Числа | Все true, кроме 0, NaN -- false. |
Строки | Все true, кроме пустой строки "" -- false |
Объекты | Всегда true |
Для явного преобразования используется двойное логическое отрицание!!value или вызов Boolean(value).
|
Обратите внимание: строка "0" становится true
|
|
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!