From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../global_objects/string/@@iterator/index.html | 131 +++++++++ .../global_objects/string/anchor/index.html | 131 +++++++++ .../reference/global_objects/string/big/index.html | 112 ++++++++ .../global_objects/string/blink/index.html | 117 ++++++++ .../global_objects/string/bold/index.html | 114 ++++++++ .../global_objects/string/charat/index.html | 270 ++++++++++++++++++ .../global_objects/string/charcodeat/index.html | 205 ++++++++++++++ .../global_objects/string/codepointat/index.html | 174 ++++++++++++ .../global_objects/string/concat/index.html | 121 +++++++++ .../global_objects/string/endswith/index.html | 145 ++++++++++ .../global_objects/string/fixed/index.html | 108 ++++++++ .../global_objects/string/fontcolor/index.html | 119 ++++++++ .../global_objects/string/fontsize/index.html | 118 ++++++++ .../global_objects/string/fromcharcode/index.html | 138 ++++++++++ .../global_objects/string/fromcodepoint/index.html | 213 +++++++++++++++ .../global_objects/string/includes/index.html | 127 +++++++++ .../reference/global_objects/string/index.html | 301 +++++++++++++++++++++ .../global_objects/string/indexof/index.html | 194 +++++++++++++ .../global_objects/string/italics/index.html | 114 ++++++++ .../global_objects/string/lastindexof/index.html | 155 +++++++++++ .../global_objects/string/length/index.html | 116 ++++++++ .../global_objects/string/link/index.html | 131 +++++++++ .../global_objects/string/localecompare/index.html | 196 ++++++++++++++ .../global_objects/string/match/index.html | 177 ++++++++++++ .../global_objects/string/matchall/index.html | 120 ++++++++ .../global_objects/string/normalize/index.html | 174 ++++++++++++ .../global_objects/string/padend/index.html | 94 +++++++ .../global_objects/string/padstart/index.html | 92 +++++++ .../global_objects/string/prototype/index.html | 229 ++++++++++++++++ .../global_objects/string/quote/index.html | 124 +++++++++ .../reference/global_objects/string/raw/index.html | 153 +++++++++++ .../global_objects/string/repeat/index.html | 124 +++++++++ .../global_objects/string/replace/index.html | 289 ++++++++++++++++++++ .../global_objects/string/replaceall/index.html | 167 ++++++++++++ .../global_objects/string/search/index.html | 149 ++++++++++ .../global_objects/string/slice/index.html | 173 ++++++++++++ .../global_objects/string/small/index.html | 109 ++++++++ .../global_objects/string/split/index.html | 229 ++++++++++++++++ .../global_objects/string/startswith/index.html | 81 ++++++ .../global_objects/string/strike/index.html | 114 ++++++++ .../reference/global_objects/string/sub/index.html | 109 ++++++++ .../global_objects/string/substr/index.html | 116 ++++++++ .../global_objects/string/substring/index.html | 194 +++++++++++++ .../reference/global_objects/string/sup/index.html | 109 ++++++++ .../string/tolocalelowercase/index.html | 110 ++++++++ .../string/tolocaleuppercase/index.html | 110 ++++++++ .../global_objects/string/tolowercase/index.html | 109 ++++++++ .../global_objects/string/tosource/index.html | 91 +++++++ .../global_objects/string/tostring/index.html | 111 ++++++++ .../global_objects/string/touppercase/index.html | 109 ++++++++ .../global_objects/string/trim/index.html | 135 +++++++++ .../global_objects/string/trimleft/index.html | 93 +++++++ .../global_objects/string/trimright/index.html | 93 +++++++ .../global_objects/string/valueof/index.html | 120 ++++++++ 54 files changed, 7757 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/anchor/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/big/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/blink/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/bold/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/charat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/codepointat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/concat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/endswith/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/fixed/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/fontsize/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/includes/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/indexof/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/italics/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/lastindexof/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/length/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/link/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/localecompare/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/match/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/matchall/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/normalize/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/padend/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/padstart/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/prototype/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/quote/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/raw/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/repeat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/replace/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/replaceall/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/search/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/slice/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/small/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/split/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/startswith/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/strike/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/sub/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/substr/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/substring/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/sup/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/tolowercase/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/tosource/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/tostring/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/touppercase/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/trim/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/trimleft/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/trimright/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/string/valueof/index.html (limited to 'files/ru/web/javascript/reference/global_objects/string') diff --git a/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html b/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html new file mode 100644 index 0000000000..a493783be3 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html @@ -0,0 +1,131 @@ +--- +title: 'String.prototype[@@iterator]()' +slug: Web/JavaScript/Reference/Global_Objects/String/@@iterator +tags: + - ECMAScript6 + - Experimental + - Expérimental(2) + - Iterator + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/@@iterator +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод [@@iterator]() возвращает новый объект итератора Iterator, который проходит по кодовым точкам строкового значения, возвращая каждую кодовую точку в виде строкового значения.

+ +

Синтаксис

+ +
string[Symbol.iterator]
+ +

Примеры

+ +

Пример: использование метода [@@iterator]()

+ +
var string = 'A\uD835\uDC68';
+
+var strIter = string[Symbol.iterator]();
+
+console.log(strIter.next().value); // "A"
+console.log(strIter.next().value); // "\uD835\uDC68"
+
+ +

Пример: использование метода [@@iterator]() вместе с циклом for..of

+ +
var string = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';
+
+for (var v of string) {
+  console.log(v);
+}
+// "A"
+// "\uD835\uDC68"
+// "B"
+// "\uD835\uDC69"
+// "C"
+// "\uD835\uDC6A"
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype-@@iterator', 'String.prototype[@@iterator]()')}}{{Spec2('ES6')}}Изначальное определение.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("17")}} (.iterator)
+ {{CompatGeckoDesktop("27")}} (["@@iterator"])
+ {{CompatGeckoDesktop("36")}} ([Symbol.iterator])
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatVersionUnknown}}{{CompatGeckoMobile("17")}} (.iterator)
+ {{CompatGeckoMobile("27")}} (["@@iterator"])
+ {{CompatGeckoMobile("36")}} ([Symbol.iterator])
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Примечания по Gecko

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/anchor/index.html b/files/ru/web/javascript/reference/global_objects/string/anchor/index.html new file mode 100644 index 0000000000..43b5161a75 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/anchor/index.html @@ -0,0 +1,131 @@ +--- +title: String.prototype.anchor() +slug: Web/JavaScript/Reference/Global_Objects/String/anchor +tags: + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/anchor +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+ +

Метод anchor() создаёт якорный HTML-элемент {{HTMLElement("a")}}, используемый в качестве цели гиперссылки.

+ +

Синтаксис

+ +
str.anchor(name)
+ +

Параметры

+ +
+
name
+
Строка, представляющая атрибут name создаваемого тега.
+
+ +

Описание

+ +

Метод anchor() используется для программного создания и отображения якоря в документе.

+ +

Текстовая строка представляет из себя буквальный текст, который ва хотите показать пользователю. Строковый параметр name представляет атрибут name элемента {{HTMLElement("a")}}.

+ +

Якоря, созданные методом anchor(), становятся элементами в массиве {{domxref("document.anchors")}}.

+ +

Примеры

+ +

Пример: использование метода anchor()

+ +
var myString = 'Оглавление';
+
+document.body.innerHTML = myString.anchor('contents_anchor');
+
+ +

приведёт к выводу следующего HTML:

+ +
<a name="contents_anchor">Оглавление</a>
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.anchor', 'String.prototype.anchor')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Примечания по Gecko

+ +

Начиная с версии {{gecko("17")}}, символ " (кавычка) в строках, передаваемых в качестве параметра name, заменяется его HTML-мнемоникой &quot;.

+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/big/index.html b/files/ru/web/javascript/reference/global_objects/string/big/index.html new file mode 100644 index 0000000000..b0172de18a --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/big/index.html @@ -0,0 +1,112 @@ +--- +title: String.prototype.big() +slug: Web/JavaScript/Reference/Global_Objects/String/big +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/big +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод big() создаёт HTML-элемент {{HTMLElement("big")}}, заставляющий строку отображаться большим шрифтом.

+
+

Примечание по использованию: элемент <big> был удалён из HTML5 и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства CSS.

+
+ +

Синтаксис

+
str.big()
+ +

Описание

+

Метод big() заключает строку в тег <big>: "<big>str</big>".

+ +

Примеры

+ +

Пример: использование метода big()

+

В следующем примере демонстрируется использование нескольких строковых методов для изменения размера строки:

+
var worldString = 'Привет, мир';
+
+console.log(worldString.small());     // <small>Привет, мир</small>
+console.log(worldString.big());       // <big>Привет, мир</big>
+console.log(worldString.fontsize(7)); // <fontsize=7>Привет, мир</fontsize>
+
+

При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута style элемента и управлять им более обобщённым способом, например:

+
document.getElementById('yourElemId').style.fontSize = '2em';
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.big', 'String.prototype.big')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/blink/index.html b/files/ru/web/javascript/reference/global_objects/string/blink/index.html new file mode 100644 index 0000000000..4cb5218f7f --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/blink/index.html @@ -0,0 +1,117 @@ +--- +title: String.prototype.blink() +slug: Web/JavaScript/Reference/Global_Objects/String/blink +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/blink +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод blink() создаёт HTML-элемент {{HTMLElement("blink")}}, заставляющий строку мерцать.

+
+

Предупреждение: мерцающий текст осуждается некоторыми стандартами доступности. Сам элемент <blink> является нестандартным и устаревшим!

+
+ +

Синтаксис

+
str.blink()
+ +

Описание

+

Метод blink() заключает строку в тег <blink>: "<blink>str</blink>".

+ +

Примеры

+ + +

В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:

+
var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+
+

Этот пример генерирует такой же вывод, как и следующий HTML:

+
<blink>Привет, мир</blink>
+<b>Привет, мир</b>
+<i>Привет, мир</i>
+<strike>Привет, мир</strike>
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.blink', 'String.prototype.blink')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/bold/index.html b/files/ru/web/javascript/reference/global_objects/string/bold/index.html new file mode 100644 index 0000000000..255ff7623c --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/bold/index.html @@ -0,0 +1,114 @@ +--- +title: String.prototype.bold() +slug: Web/JavaScript/Reference/Global_Objects/String/bold +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/bold +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод bold() создаёт HTML-элемент {{HTMLElement("b")}}, заставляющий строку отображаться полужирным шрифтом.

+ +

Синтаксис

+
str.bold()
+ +

Описание

+

Метод bold() заключает строку в тег <b>: "<b>str</b>".

+ +

Примеры

+ +

Пример: использование метода bold()

+

В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:

+
var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+
+

Этот пример генерирует такой же вывод, как и следующий HTML:

+
<blink>Привет, мир</blink>
+<b>Привет, мир</b>
+<i>Привет, мир</i>
+<strike>Привет, мир</strike>
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.bold', 'String.prototype.bold')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/charat/index.html b/files/ru/web/javascript/reference/global_objects/string/charat/index.html new file mode 100644 index 0000000000..c86dae26aa --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/charat/index.html @@ -0,0 +1,270 @@ +--- +title: String.prototype.charAt() +slug: Web/JavaScript/Reference/Global_Objects/String/charAt +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/charAt +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Метод charAt() возвращает указанный символ из строки.

+ +

Синтаксис

+
str.charAt(index)
+ +

Параметры

+
+
index
+
Целое число от 0 до длины строки минус 1.
+
+ +

Описание

+

Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке stringName равен stringName.length - 1. Если предоставленный вами параметр index выходит за пределы этого диапазона, JavaScript вернёт пустую строку.

+ +

Примеры

+ +

Пример: отображение символов из различных позиций строки

+

Следующий пример показывает символы в различных позициях в строке "Дивный новый мир":

+
var anyString = 'Дивный новый мир';
+
+console.log("Символ по индексу 0   равен '" + anyString.charAt(0)   + "'");
+console.log("Символ по индексу 1   равен '" + anyString.charAt(1)   + "'");
+console.log("Символ по индексу 2   равен '" + anyString.charAt(2)   + "'");
+console.log("Символ по индексу 3   равен '" + anyString.charAt(3)   + "'");
+console.log("Символ по индексу 4   равен '" + anyString.charAt(4)   + "'");
+console.log("Символ по индексу 5   равен '" + anyString.charAt(5)   + "'");
+console.log("Символ по индексу 999 равен '" + anyString.charAt(999) + "'");
+
+

Этот код отобразит следующее:

+
Символ по индексу 0   равен 'Д'
+Символ по индексу 1   равен 'и'
+Символ по индексу 2   равен 'в'
+Символ по индексу 3   равен 'н'
+Символ по индексу 4   равен 'ы'
+Символ по индексу 5   равен 'й'
+Символ по индексу 999 равен ''
+
+ +

Пример: получение целых символов

+

Следующий пример показывает, как обойти строку в цикле, каждый раз гарантированно получая целый символ, даже если строка содержит символы, не помещающиеся на Базовую многоязыковую плоскость (БМП).

+
var str = 'A \uD87E\uDC04 Z'; // Также можно использовать не-БМП символы напрямую
+for (var i = 0, chr; i < str.length; i++) {
+  if ((chr = getWholeChar(str, i)) === false) {
+    continue;
+  }
+  // Поместите эти строки в самое начало каждого цикла, передавая в функцию строку
+  // и текущую итерацию; возвращаемая переменная будут представлять
+  // отдельный символ
+
+  console.log(chr);
+}
+
+function getWholeChar(str, i) {
+  var code = str.charCodeAt(i);
+
+  if (isNaN(code)) {
+    return ''; // Позиция не найдена
+  }
+  if (code < 0xD800 || code > 0xDFFF) {
+    return str.charAt(i);
+  }
+
+  // Старшая часть суррогатной пары (последнее число можно изменить на 0xDB7F,
+  // чтобы трактовать старшую часть суррогатной пары в частной плоскости как
+  // одиночный символ)
+  if (0xD800 <= code && code <= 0xDBFF) {
+    if (str.length <= (i + 1)) {
+      throw 'Старшая часть суррогатной пары без следующей младшей';
+    }
+    var next = str.charCodeAt(i + 1);
+      if (0xDC00 > next || next > 0xDFFF) {
+        throw 'Старшая часть суррогатной пары без следующей младшей';
+      }
+      return str.charAt(i) + str.charAt(i + 1);
+  }
+  // Младшая часть суррогатной пары (0xDC00 <= code && code <= 0xDFFF)
+  if (i === 0) {
+    throw 'Младшая часть суррогатной пары без предшествующей старшей';
+  }
+  var prev = str.charCodeAt(i - 1);
+
+  // (последнее число можно изменить на 0xDB7F, чтобы трактовать старшую
+  // часть суррогатной пары в частной плоскости как одиночный символ)
+  if (0xD800 > prev || prev > 0xDBFF) {
+    throw 'Младшая часть суррогатной пары без предшествующей старшей';
+  }
+  // Теперь мы можем пропустить младшую часть суррогатной пары,
+  // которую мы уже обработали
+  return false;
+}
+
+

В среде, поддерживающей JavaScript 1.7+ (например, в Firefox), который позволяет деструктуризующее присваивание, можно использовать более лаконичную и более гибкую альтернативу в том смысле, что она автоматически увеличивает счётчик (если символ гарантированно является суррогатной парой).

+
var str = 'A\uD87E\uDC04Z'; // Также можно использовать не-БМП символы напрямую
+for (var i = 0, chr; i < str.length; i++) {
+  [chr, i] = getWholeCharAndI(str, i);
+  // Поместите эту строку в самое начало каждого цикла, передавая в функцию строку
+  // и текущую итерацию; возвращаемый массив будет содержать отдельный символ и
+  // новое значение счётчика цикла 'i' (изменится только при встрече суррогатной пары)
+
+  console.log(chr);
+}
+
+function getWholeCharAndI(str, i) {
+  var code = str.charCodeAt(i);
+
+  if (isNaN(code)) {
+    return ''; // Позиция не найдена
+  }
+  if (code < 0xD800 || code > 0xDFFF) {
+    return [str.charAt(i), i]; // Обычный символ, оставляем переменную 'i' неизменной
+  }
+
+  // Старшая часть суррогатной пары (последнее число можно изменить на 0xDB7F,
+  // чтобы трактовать старшую часть суррогатной пары в частной плоскости как
+  // одиночный символ)
+  if (0xD800 <= code && code <= 0xDBFF) {
+    if (str.length <= (i + 1)) {
+      throw 'Старшая часть суррогатной пары без следующей младшей';
+    }
+    var next = str.charCodeAt(i + 1);
+      if (0xDC00 > next || next > 0xDFFF) {
+        throw 'Старшая часть суррогатной пары без следующей младшей';
+      }
+      return [str.charAt(i) + str.charAt(i + 1), i + 1];
+  }
+  // Младшая часть суррогатной пары (0xDC00 <= code && code <= 0xDFFF)
+  if (i === 0) {
+    throw 'Младшая часть суррогатной пары без предшествующей старшей';
+  }
+  var prev = str.charCodeAt(i - 1);
+
+  // (последнее число можно изменить на 0xDB7F, чтобы трактовать старшую
+  // часть суррогатной пары в частной плоскости как одиночный символ)
+  if (0xD800 > prev || prev > 0xDBFF) {
+    throw 'Младшая часть суррогатной пары без предшествующей старшей';
+  }
+  // Возвращаем следующий символ (и увеличиваем счётчик)
+  return [str.charAt(i + 1), i + 1];
+}
+
+ +

Пример: добавление к методу charAt() поддержки символов не в Базовой многоязыковой плоскости (БМП)

+

В то время как пример выше может быть более полезен тем, кто хочет поддерживать символы не в плоскости БМП (поскольку он не требует от вызывающей стороны знания о том, где может встретиться символ из не-БМП), в случае, если кто-то желает выбирать символы по индексу и трактовать суррогатную пару внутри строки как один символ, он может использовать следующий код:

+
function fixedCharAt(str, idx) {
+  var ret = '';
+  str += '';
+  var end = str.length;
+
+  var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+  while ((surrogatePairs.exec(str)) != null) {
+    var li = surrogatePairs.lastIndex;
+    if (li - 2 < idx) {
+      idx++;
+    } else {
+      break;
+    }
+  }
+
+  if (idx >= end || idx < 0) {
+    return '';
+  }
+
+  ret += str.charAt(idx);
+
+  if (/[\uD800-\uDBFF]/.test(ret) && /[\uDC00-\uDFFF]/.test(str.charAt(idx + 1))) {
+    // Перешагиваем через один, поскольку один «символ» является частью суррогатной пары
+    ret += str.charAt(idx + 1);
+  }
+  return ret;
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение.
{{SpecName('ES5.1', '#sec-15.5.4.4', 'String.prototype.charAt')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.charat', 'String.prototype.charAt')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html b/files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html new file mode 100644 index 0000000000..d5c58899cf --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html @@ -0,0 +1,205 @@ +--- +title: String.prototype.charCodeAt() +slug: Web/JavaScript/Reference/Global_Objects/String/charCodeAt +tags: + - JavaScript + - Method + - Reference + - String + - Unicode +translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод charCodeAt() возвращает числовое значение Юникода для символа по указанному индексу (за исключением кодовых точек Юникода, больших 0x10000).

+ +

Синтаксис

+ +
str.charCodeAt(index)
+ +

Параметры

+ +
+
index
+
Целое число больше, либо равное 0 и меньше длины строки; если параметр не является числом, он устанавливается в 0.
+
+ +

Описание

+ +

Кодовые точки Юникода простираются в диапазоне от 0 до 1114111 (0x10FFFF). Первые 128 кодовых точек Юникода напрямую отображаются в кодировку ASCII. Информацию по Юникоду смотрите в Руководстве по JavaScript.

+ +

Обратите внимание, что метод charCodeAt() всегда возвращает значение, меньшее 65536. Так происходит потому, что большие кодовые точки представляются парой (меньших значений) «суррогатных» псевдо-символов, которые используются для составления настоящего символа. Поэтому для того, чтобы получить полный символ для значений символов от 65536 и выше, необходимо получить не только значение charCodeAt(i), но также значение charCodeAt(i + 1) (как если бы строка состояла из двух букв). Смотрите второй и третий примеры ниже.

+ +

Метод charCodeAt() возвращает {{jsxref("Global_Objects/NaN", "NaN")}}, если указанный индекс меньше нуля или больше длины строки.

+ +

Обратная совместимость: в более старых версиях (например, в JavaScript 1.2) метод charCodeAt() возвращал число из кодировки ISO-Latin-1 по указанному индексу. Диапазон символов в кодировке ISO-Latin-1 простирается от 0 до 255. Первые 127 чисел напрямую отображаются в кодировку ASCII.

+ +

Примеры

+ +

Пример: использование метода charCodeAt()

+ +

В следующем примере возвращается число 65, значение Unicode для латинского символа «A».

+ +
'ABC'.charCodeAt(0); // вернёт 65
+
+ +

Пример: исправление метода charCodeAt() для обработки символов не в Базовой многоязыковой плоскости, если их предыдущее присутствие в строке неизвестно

+ +

Эта версия может использоваться в циклах for, даже когда неизвестно, были ли до указанной позиции символы из не-БМП.

+ +
function fixedCharCodeAt(str, idx) {
+  // например, fixedCharCodeAt('\uD800\uDC00', 0); // 65536
+  // например, fixedCharCodeAt('\uD800\uDC00', 1); // false
+  idx = idx || 0;
+  var code = str.charCodeAt(idx);
+  var hi, low;
+
+  // Старшая часть суррогатной пары (последнее число можно изменить на 0xDB7F,
+  // чтобы трактовать старшую часть суррогатной пары в частной плоскости как
+  // одиночный символ)
+  if (0xD800 <= code && code <= 0xDBFF) {
+    hi = code;
+    low = str.charCodeAt(idx + 1);
+    if (isNaN(low)) {
+      throw 'Старшая часть суррогатной пары без следующей младшей в fixedCharCodeAt()';
+    }
+    return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
+  }
+  if (0xDC00 <= code && code <= 0xDFFF) { // Младшая часть суррогатной пары
+    // Мы возвращаем false, чтобы цикл пропустил эту итерацию,
+    // поскольку суррогатная пара
+    // уже обработана в предыдущей итерации
+    return false;
+    // hi = str.charCodeAt(idx - 1);
+    // low = code;
+    // return ((hi - 0xD800) * 0x400) +
+    //   (low - 0xDC00) + 0x10000;
+  }
+  return code;
+}
+
+ +

Пример: исправление метода charCodeAt() для обработки символов не в Базовой многоязыковой плоскости, если их предыдущее присутствие в строке известно

+ +
function knownCharCodeAt(str, idx) {
+  str += '';
+  var code,
+      end = str.length;
+
+  var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+  while ((surrogatePairs.exec(str)) != null) {
+    var li = surrogatePairs.lastIndex;
+    if (li - 2 < idx) {
+      idx++;
+    }
+    else {
+      break;
+    }
+  }
+
+  if (idx >= end || idx < 0) {
+    return NaN;
+  }
+
+  code = str.charCodeAt(idx);
+
+  var hi, low;
+  if (0xD800 <= code && code <= 0xDBFF) {
+    hi = code;
+    low = str.charCodeAt(idx + 1);
+    // Перешагиваем через один, поскольку один «символ» является частью суррогатной пары
+    return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
+  }
+  return code;
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.5', 'String.prototype.charCodeAt')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.charcodeat', 'String.prototype.charCodeAt')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html b/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html new file mode 100644 index 0000000000..db2b8a4e19 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html @@ -0,0 +1,174 @@ +--- +title: String.prototype.codePointAt() +slug: Web/JavaScript/Reference/Global_Objects/String/codePointAt +tags: + - ECMAScript6 + - Experimental + - Expérimental(2) + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/codePointAt +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод codePointAt() возвращает неотрицательное целое число, являющееся закодированным в UTF-16 значением кодовой точки.

+ +

Синтаксис

+ +
str.codePointAt(pos)
+ +

Параметры

+ +
+
pos
+
Позиция элемента в строке, чья кодовоя точка возвращается функцией.
+
+ +

Описание

+ +

Если на указанной позиции нет элементов, будет возвращено значение {{jsxref("Global_Objects/undefined", "undefined")}}. Если суррогатная пара UTF-16 не начинается в позиции pos, будет возвращено кодовое значение в позиции pos.

+ +

Примеры

+ +

Пример: использование метода codePointAt()

+ +
'ABC'.codePointAt(1);          // 66
+'\uD800\uDC00'.codePointAt(0); // 65536
+
+'XYZ'.codePointAt(42); // undefined
+
+ +

Полифилл

+ +

Следующий полифилл расширяет прототип строки определённой в ECMAScript 6 функцией codePointAt(), если браузер не имеет её родной поддержки.

+ +
/*! http://mths.be/codepointat v0.1.0 от @mathias */
+if (!String.prototype.codePointAt) {
+  (function() {
+    'use strict'; // необходимо для поддержки методов `apply`/`call` с `undefined`/`null`
+    var codePointAt = function(position) {
+      if (this == null) {
+        throw TypeError();
+      }
+      var string = String(this);
+      var size = string.length;
+      // `ToInteger`
+      var index = position ? Number(position) : 0;
+      if (index != index) { // лучше, чем `isNaN`
+        index = 0;
+      }
+      // Проверяем выход индекса за границы строки
+      if (index < 0 || index >= size) {
+        return undefined;
+      }
+      // Получаем первое кодовое значение
+      var first = string.charCodeAt(index);
+      var second;
+      if ( // проверяем, не начинает ли оно суррогатную пару
+        first >= 0xD800 && first <= 0xDBFF && // старшая часть суррогатной пары
+        size > index + 1 // следующее кодовое значение
+      ) {
+        second = string.charCodeAt(index + 1);
+        if (second >= 0xDC00 && second <= 0xDFFF) { // младшая часть суррогатной пары
+          // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+          return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
+        }
+      }
+      return first;
+    };
+    if (Object.defineProperty) {
+      Object.defineProperty(String.prototype, 'codePointAt', {
+        'value': codePointAt,
+        'configurable': true,
+        'writable': true
+      });
+    } else {
+      String.prototype.codePointAt = codePointAt;
+    }
+  }());
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.codepointat', 'String.prototype.codePointAt')}}{{Spec2('ES6')}}Изначальное определение.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("41")}}{{CompatGeckoDesktop("29")}}11 на Windows 10 Preview{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("29")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/concat/index.html b/files/ru/web/javascript/reference/global_objects/string/concat/index.html new file mode 100644 index 0000000000..b8df563087 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/concat/index.html @@ -0,0 +1,121 @@ +--- +title: String.prototype.concat() +slug: Web/JavaScript/Reference/Global_Objects/String/concat +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/concat +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Метод concat() объединяет текст из двух или более строк и возвращает новую строку.

+ +

Синтаксис

+
str.concat(string2, string3[, ..., stringN])
+ +

Параметры

+
+
string2...stringN
+
Строки, объединяемые в эту строку.
+
+ +

Описание

+

Метод concat() объединяет текст из двух или более строк и возвращает новую строку. Изменения в тексте в одной строке не затрагивают остальные строки.

+ +

Примеры

+ +

Пример: использование метода concat()

+

В следующем примере несколько строк объединяются в одну.

+
var hello = 'Привет, ';
+console.log(hello.concat('Кевин', ', удачного дня.'));
+
+/* Привет, Кевин, удачного дня. */
+
+ +

Производительность

+

Настоятельно рекомендуется вместо метода concat() использовать {{jsxref("Operators/Assignment_Operators", "операторы присваивания", "", 1)}} (+, +=). Смотрите это сравнение производительности.

+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.6', 'String.prototype.concat')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.concat', 'String.prototype.concat')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/endswith/index.html b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html new file mode 100644 index 0000000000..f2f6aa5c2c --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html @@ -0,0 +1,145 @@ +--- +title: String.prototype.endsWith() +slug: Web/JavaScript/Reference/Global_Objects/String/endsWith +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод endsWith() позволяет определить, заканчивается ли строка символами указанными в скобках, возвращая, соотвественно, true или false.

+ +

Синтаксис

+ +
str.endsWith(searchString[, length])
+ +

Параметры

+ +
+
searchString
+
Символы, искомые в конце строки.
+
length
+
Необязательный параметр. Позволяет искать внутри строки, обрезая её по диапазону; по умолчанию равен длине строки.
+
+ +

Возвращаемое значение

+ +

true если данные символы находятся в конце строки; в противном случае, false.

+ +

Описание

+ +

Этот метод позволяет определять, заканчивается ли строка искомыми символами. Метод чувствителен к регистру.

+ +

Примеры

+ +

Пример: использование метода endsWith()

+ +
var str = 'Быть или не быть, вот в чём вопрос.';
+
+console.log(str.endsWith('вопрос.'));   // true
+console.log(str.endsWith('быть'));      // false
+console.log(str.endsWith('быть', 16));  // true
+
+ +

Полифилл

+ +

Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:

+ +
if (!String.prototype.endsWith) {
+  Object.defineProperty(String.prototype, 'endsWith', {
+    value: function(searchString, position) {
+      var subjectString = this.toString();
+      if (position === undefined || position > subjectString.length) {
+        position = subjectString.length;
+      }
+      position -= searchString.length;
+      var lastIndex = subjectString.indexOf(searchString, position);
+      return lastIndex !== -1 && lastIndex === position;
+    }
+  });
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.endswith', 'String.prototype.endsWith')}}{{Spec2('ES6')}}Изначальное определение.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("41")}}{{CompatGeckoDesktop("17")}}12{{CompatNo}}{{CompatSafari("9")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("36")}}{{CompatGeckoMobile("17")}}12{{CompatNo}}{{CompatNo}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/fixed/index.html b/files/ru/web/javascript/reference/global_objects/string/fixed/index.html new file mode 100644 index 0000000000..8f3feae555 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/fixed/index.html @@ -0,0 +1,108 @@ +--- +title: String.prototype.fixed() +slug: Web/JavaScript/Reference/Global_Objects/String/fixed +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/fixed +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод fixed() создаёт HTML-элемент {{HTMLElement("tt")}}, заставляющий строку отображаться моноширинным шрифтом.

+ +

Синтаксис

+
str.fixed()
+ +

Описание

+

Метод fixed() заключает строку в тег <tt>: "<tt>str</tt>".

+ +

Примеры

+ +

Пример: использование метода fixed()

+

В следующем примере для изменения форматирования строки используется метод fixed():

+
var worldString = 'Привет, мир';
+
+document.write(worldString.fixed());
+
+

Этот пример генерирует такой же вывод, как и следующий HTML:

+
<tt>Привет, мир</tt>
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.fixed', 'String.prototype.fixed')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html b/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html new file mode 100644 index 0000000000..549d0e2b54 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html @@ -0,0 +1,119 @@ +--- +title: String.prototype.fontcolor() +slug: Web/JavaScript/Reference/Global_Objects/String/fontcolor +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/fontcolor +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод fontcolor() создаёт HTML-элемент {{HTMLElement("font")}}, заставляющий строку отображаться шрифтом указанного цвета.

+
+

Примечание по использованию: элемент <font> был удалён из HTML5 и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства CSS.

+
+ +

Синтаксис

+
str.fontcolor(color)
+ +

Параметры

+
+
color
+
Строка, выражающая цвет в виде шестнадцатеричного триплета RGB, либо в виде названия цвета. Названия цветов перечислены в справочнике по значению цвета в CSS.
+
+ +

Описание

+

Ксли вы выразили цвет в виде шестнадцатеричного триплета RGB, вы должны использовать формат rrggbb. Например, шестнадцатеричные значения RGB для оранжево-розового цвета такие: красный=FA, зелёный=80 и синий=72, так что RGB-триплет для оранжево-розового цвета будет следующим "FA8072".

+ +

Примеры

+ +

Пример: использование метода fontcolor()

+

В следующем примере метод fontcolor() используется для изменения цвета строки путём генерирования строки с HTML-тегом <font>.

+
var worldString = 'Привет, мир';
+
+console.log(worldString.fontcolor('red') +  ' на этой строке красный');
+// '<font color="red">Привет, мир</font> на этой строке красный'
+
+console.log(worldString.fontcolor('FF00') + ' на этой строке красный в шестнадцатеричной форме');
+// '<font color="FF00">Привет, мир</font> на этой строке красный в шестнадцатеричной форме'
+
+

При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута style элемента и управлять им более обобщённым способом, например:

+
document.getElementById('yourElemId').style.color = 'red';
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.fontcolor', 'String.prototype.fontcolor')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/fontsize/index.html b/files/ru/web/javascript/reference/global_objects/string/fontsize/index.html new file mode 100644 index 0000000000..3ed48133c3 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/fontsize/index.html @@ -0,0 +1,118 @@ +--- +title: String.prototype.fontsize() +slug: Web/JavaScript/Reference/Global_Objects/String/fontsize +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/fontsize +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод fontsize() создаёт HTML-элемент {{HTMLElement("font")}}, заставляющий строку отображаться шрифтом указанного размера.

+
+

Примечание по использованию: элемент <font> был удалён из HTML5 и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства CSS.

+
+ +

Синтаксис

+
str.fontsize(size)
+ +

Параметры

+
+
size
+
Целое число от 1 до 7, либо строка с целым числом со знаком по модулю от 1 до 7.
+
+ +

Описание

+

При задании размера в виде целого числа, вы устанавливаете размер шрифта строки str в один из 7 предопределённых размеров. При задании размера в виде строки, например, "-2", вы задаёте размер шрифта строки str относительно размера, установленного тегом {{HTMLElement("basefont")}}.

+ +

Примеры

+ +

Пример: использование метода fontsize()

+

В следующем примере демонстрируется использование нескольких строковых методов для изменения размера строки:

+
var worldString = 'Привет, мир';
+
+console.log(worldString.small());     // <small>Привет, мир</small>
+console.log(worldString.big());       // <big>Привет, мир</big>
+console.log(worldString.fontsize(7)); // <fontsize=7>Привет, мир</fontsize>
+
+

При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута style элемента и управлять им более обобщённым способом, например:

+
document.getElementById('yourElemId').style.fontSize = '0.7em';
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.fontsize', 'String.prototype.fontsize')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html b/files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html new file mode 100644 index 0000000000..04e5c26ada --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html @@ -0,0 +1,138 @@ +--- +title: String.fromCharCode() +slug: Web/JavaScript/Reference/Global_Objects/String/fromCharCode +tags: + - JavaScript + - Method + - Reference + - String + - Unicode +translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCharCode +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Статический метод String.fromCharCode() возвращает строку, созданную из указанной последовательности значений единиц кода UTF-16.

+ +

+ +

Синтаксис

+ +
String.fromCharCode(num1[, ...[, numN]])
+ +

Параметры

+ +
+
num1, ..., numN
+
Последовательность чисел, являющихся значениями единиц кода UTF-16. Диапазон составляет от 0 до 65535 (0xFFFF). Числа больше 0xFFFF усекаются. Проверка достоверности не производится.
+
+ +

Описание

+ +

Этот метод возвращает примитивную строку, а не объект {{jsxref("Global_Objects/String", "String")}}.

+ +

Поскольку метод fromCharCode() является статическим методом объекта {{jsxref("Global_Objects/String", "String")}}, вы всегда должны использовать его как String.fromCharCode(), а не как метод созданного вами экземпляра {{jsxref("Global_Objects/String", "String")}}.

+ +

Примеры

+ +

Пример: использование метода fromCharCode()

+ +

Следующий пример вернёт строку "ABC".

+ +
String.fromCharCode(65, 66, 67);  // "ABC"
+
+ +

Полная таблица UTF-16

+ +

Как заставить его работать с большими значениями

+ +

Хотя большинство распространённых значений Юникода может быть представлено одним 16-битным числом (как ожидалось на ранней стадии стандартизации JavaScript) и метод fromCharCode() может использоваться для возврата одного символа для самых распространённых значений (точнее, значений UCS-2, которые являются подмножеством самых распространённых символов UTF-16), для работы со ВСЕМИ допустимыми значениями Юникода (занимающими до 21 бита) одного метода fromCharCode() недостаточно. Поскольку большие кодовые точки используют (самое меньшее) два «суррогатных» числа для представления одного символа, для возврата таких пар можно использовать метод {{jsxref("String.fromCodePoint()")}} (являющийся частью черновика ES6) и, таким образом, адекватно представлять эти символы.

+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.3.2', 'StringfromCharCode')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.fromcharcodes', 'String.fromCharCode')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html b/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html new file mode 100644 index 0000000000..6f4cde3a52 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html @@ -0,0 +1,213 @@ +--- +title: String.fromCodePoint() +slug: Web/JavaScript/Reference/Global_Objects/String/fromCodePoint +tags: + - ECMAScript6 + - Experimental + - Expérimental(2) + - JavaScript + - Method + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCodePoint +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Статический метод String.fromCodePoint() возвращает строку, созданную из указанной последовательности кодовых точек.

+ +

Синтаксис

+ +
String.fromCodePoint(num1[, ...[, numN]])
+ +

Параметры

+ +
+
num1, ..., numN
+
Последовательность кодовых точек.
+
+ +

Выбрасываемые исключения

+ +
+
{{jsxref("Global_Objects/RangeError", "RangeError")}}
+
Исключение {{jsxref("Global_Objects/RangeError", "RangeError")}} выбрасывается в случае, если методу предоставлена неверная кодовая точка Юникода (например, "RangeError: NaN is not a valid code point").
+
+ +

Описание

+ +

Поскольку метод fromCodePoint() является статическим методом объекта {{jsxref("Global_Objects/String", "String")}}, вы всегда должны использовать его как String.fromCodePoint(), а не как метод созданного вами экземпляра {{jsxref("Global_Objects/String", "String")}}.

+ +

Примеры

+ +

Пример: использование метода fromCodePoint()

+ +
String.fromCodePoint(42);       // "*"
+String.fromCodePoint(65, 90);   // "AZ"
+String.fromCodePoint(0x404);    // "\u0404"
+String.fromCodePoint(0x2F804);  // "\uD87E\uDC04"
+String.fromCodePoint(194564);   // "\uD87E\uDC04"
+String.fromCodePoint(0x1D306, 0x61, 0x1D307) // "\uD834\uDF06a\uD834\uDF07"
+
+String.fromCodePoint('_');      // RangeError
+String.fromCodePoint(Infinity); // RangeError
+String.fromCodePoint(-1);       // RangeError
+String.fromCodePoint(3.14);     // RangeError
+String.fromCodePoint(3e-2);     // RangeError
+String.fromCodePoint(NaN);      // RangeError
+
+ +
// Метод String.fromCharCode() не может вернуть символ по такой большой кодовой точке
+// Следующий же метод может вернуть 4-байтный символ так же, как и обычный
+// 2-байтный (то есть, он может вернуть один символ, который на самом деле
+// имеет длину 2, а не 1!)
+console.log(String.fromCodePoint(0x2F804)); // или 194564 в десятичной записи
+
+ +

Полифилл

+ +

Метод String.fromCodePoint() был добавлен к стандарту ECMAScript в 6-й версии и может поддерживаться ещё не во всех браузерах или окружениях. Используйте код ниже в качестве полифилла:

+ +
/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */
+if (!String.fromCodePoint) {
+  (function() {
+    var defineProperty = (function() {
+      // IE 8 поддерживает метод `Object.defineProperty` только на элементах DOM
+      try {
+        var object = {};
+        var $defineProperty = Object.defineProperty;
+        var result = $defineProperty(object, object, object) && $defineProperty;
+      } catch(error) {}
+      return result;
+    }());
+    var stringFromCharCode = String.fromCharCode;
+    var floor = Math.floor;
+    var fromCodePoint = function() {
+      var MAX_SIZE = 0x4000;
+      var codeUnits = [];
+      var highSurrogate;
+      var lowSurrogate;
+      var index = -1;
+      var length = arguments.length;
+      if (!length) {
+        return '';
+      }
+      var result = '';
+      while (++index < length) {
+        var codePoint = Number(arguments[index]);
+        if (
+          !isFinite(codePoint) ||       // `NaN`, `+Infinity` или `-Infinity`
+          codePoint < 0 ||              // неверная кодовая точка Юникода
+          codePoint > 0x10FFFF ||       // неверная кодовая точка Юникода
+          floor(codePoint) != codePoint // не целое число
+        ) {
+          throw RangeError('Invalid code point: ' + codePoint);
+        }
+        if (codePoint <= 0xFFFF) { // кодовая точка Базовой многоязыковой плоскости (БМП)
+          codeUnits.push(codePoint);
+        } else { // Астральная кодовая точка; делим её на суррогатную пару
+          // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+          codePoint -= 0x10000;
+          highSurrogate = (codePoint >> 10) + 0xD800;
+          lowSurrogate = (codePoint % 0x400) + 0xDC00;
+          codeUnits.push(highSurrogate, lowSurrogate);
+        }
+        if (index + 1 == length || codeUnits.length > MAX_SIZE) {
+          result += stringFromCharCode.apply(null, codeUnits);
+          codeUnits.length = 0;
+        }
+      }
+      return result;
+    };
+    if (defineProperty) {
+      defineProperty(String, 'fromCodePoint', {
+        'value': fromCodePoint,
+        'configurable': true,
+        'writable': true
+      });
+    } else {
+      String.fromCodePoint = fromCodePoint;
+    }
+  }());
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.fromcodepoint', 'String.fromCodePoint')}}{{Spec2('ES6')}}Изначальное определение.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("41")}}{{CompatGeckoDesktop("29")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("29")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/includes/index.html b/files/ru/web/javascript/reference/global_objects/string/includes/index.html new file mode 100644 index 0000000000..a766377bb8 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/includes/index.html @@ -0,0 +1,127 @@ +--- +title: String.prototype.includes() +slug: Web/JavaScript/Reference/Global_Objects/String/includes +tags: + - JavaScript + - Prototype + - Reference + - String + - метод +translation_of: Web/JavaScript/Reference/Global_Objects/String/includes +--- +
{{JSRef}}
+ +

Метод includes() проверяет, содержит ли строка заданную подстроку, и возвращает, соответственно true или false.

+ +

Синтаксис

+ +
str.includes(searchString[, position])
+ +

Параметры

+ +
+
searchString
+
Строка для поиска в данной строке.
+
position {{optional_inline}}
+
Позиция в строке, с которой начинать поиск строки  searchString, по умолчанию 0.
+
+ +

Возвращаемое значение

+ +

true, если искомая строка была найдена в данной строке; иначе false.

+ +

Описание

+ +

Этот метод позволяет вам определять, содержит ли строка другую строку.

+ +

Чувствительность к регистру символов

+ +

Метод includes() является регистрозависимым. Например, следующее выражение вернёт false:

+ +
'Синий кит'.includes('синий'); // вернёт false
+
+ +

Примеры

+ +

Использование includes()

+ +
var str = 'Быть или не быть вот в чём вопрос.';
+
+console.log(str.includes('Быть'));       // true
+console.log(str.includes('вопрос'));    // true
+console.log(str.includes('несуществующий')); // false
+console.log(str.includes('Быть', 1));    // false
+console.log(str.includes('БЫТЬ'));       // false
+
+ +

Полифилл

+ +

Этот метод был добавлен в спецификации ECMAScript 2015 и может быть недоступен в некоторых реализациях JavaScript. Однако, можно легко эмулировать этот метод:

+ +
if (!String.prototype.includes) {
+  String.prototype.includes = function(search, start) {
+    'use strict';
+    if (typeof start !== 'number') {
+      start = 0;
+    }
+
+    if (start + search.length > this.length) {
+      return false;
+    } else {
+      return this.indexOf(search, start) !== -1;
+    }
+  };
+}
+
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES6', '#sec-string.prototype.includes', 'String.prototype.includes')}}{{Spec2('ES6')}}Изначальное определение.
{{SpecName('ESDraft', '#sec-string.prototype.includes', 'String.prototype.includes')}}{{Spec2('ESDraft')}} 
+ +

Поддержка браузерами

+ +

{{Compat("javascript.builtins.String.includes")}}

+ +

String.prototype.contains

+ +

 

+ +

В Firefox с версии 18 по версию 39, этот метод назывался «contains». Он был переименован в «includes» в замечании {{bug(1102219)}} по следующей причине:

+ +

Как было сообщено, некоторые сайты, использующие MooTools 1.2, ломаются в Firefox 17. Эта версия MooTools проверяет существование метода String.prototype.contains() и, если он не существует, добавляет свой собственный. С введением этого метода в Firefox 17, поведение этой проверки изменилось таким образом, что реализация String.prototype.contains(), основанная на MooTools, сломалась. В результате это изменение было отключено в Firefox 17. Метод String.prototype.contains() доступен в следующей версии Firefox — Firefox 18.

+ +

MooTools 1.3 принудительно использует свою собственную версию метода String.prototype.contains(), так что использующие его веб-сайты не должны ломаться. Тем не менее, следует отметить, что сигнатура метода в MooTools 1.3 отличается от сигнатуры метода в ECMAScript 2015 (во втором аргументе). В MooTools 1.5+ сигнатура изменена для соответствия стандарту ES2015.

+ +

 

+ +

В Firefox 48, метод String.prototype.contains() был удалён. Следует использовать только String.prototype.includes().

+ +

См. также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/index.html b/files/ru/web/javascript/reference/global_objects/string/index.html new file mode 100644 index 0000000000..887272aab2 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/index.html @@ -0,0 +1,301 @@ +--- +title: String +slug: Web/JavaScript/Reference/Global_Objects/String +tags: + - JavaScript + - NeedsUpdate + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Объект String используется, чтобы представить и конструировать последовательность символов.

+ +

Синтаксис

+ +

Строковые литералы могут быть следующих форм:

+ +
'строка текста'
+"строка текста"
+"中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"
+
+ +

Кроме регулярных печатных символов можно использовать специальные символы, которые можно закодировать, используя нотацию escape-последовательностей:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
КодВывод
\0нулевой символ (символ NUL)
\'одинарная кавычка
\"двойная кавычка
\\обратный слэш
\nновая строка
\rвозврат каретки
\vвертикальная табуляция
\tтабуляция
\bзабой
\fподача страницы
\uXXXXкодовая точка Юникода
\xXXсимвол из кодировки Latin-1
+ +

Либо можно использовать глобальный объект String напрямую:

+ +
String(thing)
+new String(thing)
+
+ +

Параметры

+ +
+
thing
+
Всё, что может быть преобразовано в строку.
+
+ +

Описание

+ +

Строки полезны для хранения данных, которые можно представить в текстовой форме. Некоторые из наиболее частых операций со строками — это проверка их {{jsxref("String.length", "длины", "", 1)}}, построение строки с помощью операций строковой конкатенации + и +=, проверка на существование или местоположение подстрок с помощью метода {{jsxref("String.prototype.indexOf()", "indexOf()")}}, либо извлечение подстрок с помощью метода {{jsxref("String.prototype.substring()", "substring()")}}.

+ +

Доступ к символам

+ +

Существует два способа добраться до конкретного символа в строке. В первом способе используется метод {{jsxref("String.prototype.charAt()", "charAt()")}}:

+ +
return 'кот'.charAt(1); // вернёт "о"
+
+ +

Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:

+ +
return 'кот'[1]; // вернёт "о"
+
+ +

При доступе к символам посредством нотации с квадратными скобками, попытка удалить символ, или присвоить значение числовому свойству закончится неудачей, поскольку эти свойства являются незаписываемыми и ненастраиваемыми. Смотрите документацию по методу {{jsxref("Object.defineProperty()")}} для дополнительной информации.

+ +

Сравнение строк

+ +

Разработчики на C имеют для сравнения строк функцию strcmp(). В JavaScript вы просто используете операторы меньше и больше:

+ +
var a = 'a';
+var b = 'b';
+if (a < b) { // true
+  print(a + ' меньше чем ' + b);
+} else if (a > b) {
+  print(a + ' больше чем ' + b);
+} else {
+  print(a + ' и ' + b + ' равны.');
+}
+
+ +

Подобный результат также может быть достигнут путём использования метода {{jsxref("String.prototype.localeCompare()", "localeCompare()")}}, имеющегося у всех экземпляров String.

+ +

Разница между строковыми примитивами и объектами String

+ +

Обратите внимание, что JavaScript различает объекты String и значения строкового примитива (то же самое верно и для объектов {{jsxref("Global_Objects/Boolean", "Boolean")}} и {{jsxref("Global_Objects/Number", "Number")}}).

+ +

Строковые литералы (обозначаемые двойными или одинарными кавычками) и строки, возвращённые вызовом String в неконструкторном контексте (то есть, без использования ключевого слова {{jsxref("Operators/new", "new")}}) являются строковыми примитивами. JavaScript автоматически преобразует примитивы в объекты String, так что на строковых примитивах возможно использовать методы объекта String. В контекстах, когда на примитивной строке вызывается метод или происходит поиск свойства, JavaScript автоматически оборачивает строковый примитив объектом и вызывает на нём метод или ищет в нём свойство.

+ +
var s_prim = 'foo';
+var s_obj = new String(s_prim);
+
+console.log(typeof s_prim); // выведет 'string'
+console.log(typeof s_obj);  // выведет 'object'
+
+ +

Строковые примитивы и объекты String также дают разные результаты при использовании глобальной функции {{jsxref("Global_Objects/eval", "eval()")}}. Примитивы, передаваемые в eval(), трактуются как исходный код; объекты же String трактуются так же, как и все остальные объекты, а именно: возвращается сам объект. Например:

+ +
var s1 = '2 + 2';             // создаёт строковый примитив
+var s2 = new String('2 + 2'); // создаёт объект String
+console.log(eval(s1));        // выведет число 4
+console.log(eval(s2));        // выведет строку '2 + 2'
+
+ +

По этим причинам код может сломаться, если он получает объекты String, а ожидает строковые примитивы, хотя в общем случае вам не нужно беспокоиться о различиях между ними.

+ +

Объект String также всегда может быть преобразован в его примитивный аналог при помощи метода {{jsxref("String.prototype.valueOf()", "valueOf()")}}.

+ +
console.log(eval(s2.valueOf())); // выведет число 4
+
+ +
Примечание: для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о StringView — C-подобном представлении строк на основе типизирванных массивов.
+ +

Свойства

+ +
+
{{jsxref("String.prototype")}}
+
Позволяет добавлять свойства к объекту String.
+
+ +
{{jsOverrides("Function", "Properties", "prototype")}}
+ +

Методы

+ +
+
{{jsxref("String.fromCharCode()")}}
+
Возвращает строку, созданную из указанной последовательности значений Юникода.
+
{{jsxref("String.fromCodePoint()")}} {{experimental_inline}}
+
Возвращает строку, созданную из указанной последовательности кодовых точек Юникода.
+
{{jsxref("String.raw()")}} {{experimental_inline}}
+
Возвращает строку, созданную из сырой шаблонной строки.
+
+ +
{{jsOverrides("Function", "Methods", "fromCharCode", "fromCodePoint", "raw")}}
+ +

Общие методы объекта String

+ +

Методы экземпляров String также доступны в Firefox как часть JavaScript 1.6 (который не является частью стандарта ECMAScript) на объекте String, что позволяет применять эти методы к любому объекту:

+ +
var num = 15;
+console.log(String.replace(num, /5/, '2'));
+
+ +

{{jsxref("Global_Objects/Array", "Общие методы", "#Array_generic_methods", 1)}} также доступны для объекта {{jsxref("Global_Objects/Array", "Array")}}.

+ +

Следующая прослойка позволяет использовать их во всех браузерах:

+ +
/*globals define*/
+// Предполагаем, что все требуемые методы экземпляров String уже присутствуют
+// (для них так же можно использовать полифиллы, если их нет)
+(function() {
+  'use strict';
+
+  var i,
+    // Мы могли построить массив методов следующим образом, однако метод
+    //   getOwnPropertyNames() нельзя реализовать на JavaScript:
+    // Object.getOwnPropertyNames(String).filter(function(methodName) {
+    //   return typeof String[methodName] === 'function';
+    // });
+    methods = [
+      'quote', 'substring', 'toLowerCase', 'toUpperCase', 'charAt',
+      'charCodeAt', 'indexOf', 'lastIndexOf', 'startsWith', 'endsWith',
+      'trim', 'trimLeft', 'trimRight', 'toLocaleLowerCase',
+      'toLocaleUpperCase', 'localeCompare', 'match', 'search',
+      'replace', 'split', 'substr', 'concat', 'slice'
+    ],
+    methodCount = methods.length,
+    assignStringGeneric = function(methodName) {
+      var method = String.prototype[methodName];
+      String[methodName] = function(arg1) {
+        return method.apply(arg1, Array.prototype.slice.call(arguments, 1));
+      };
+    };
+
+  for (i = 0; i < methodCount; i++) {
+    assignStringGeneric(methods[i]);
+  }
+}());
+
+ +

Экземпляры объекта String

+ +

Свойства

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Properties')}}
+ +

Методы

+ +

Методы, не относящиеся к HTML

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Methods_unrelated_to_HTML')}}
+ +

Методы-обёртки HTML

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'HTML_wrapper_methods')}}
+ +

Примеры

+ +

Пример: преобразование в строку

+ +

Объект String можно использовать как «безопасную» альтернативу методу {{jsxref("String.prototype.toString()", "toString()")}}, так как хотя он обычно и вызывает соответствующий метод toString(), он также работает и для значений {{jsxref("Global_Objects/null", "null")}} и {{jsxref("Global_Objects/undefined", "undefined")}}. Например:

+ +
var outputStrings = [];
+for (var i = 0, n = inputValues.length; i < n; ++i) {
+  outputStrings.push(String(inputValues[i]));
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение.
{{SpecName('ES5.1', '#sec-15.5', 'String')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string-objects', 'String')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ + + +

{{Compat("javascript.builtins.String",2)}}

+ +
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/indexof/index.html b/files/ru/web/javascript/reference/global_objects/string/indexof/index.html new file mode 100644 index 0000000000..2b91bdc97a --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/indexof/index.html @@ -0,0 +1,194 @@ +--- +title: String.prototype.indexOf() +slug: Web/JavaScript/Reference/Global_Objects/String/indexOf +tags: + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод indexOf() возвращает индекс первого вхождения указанного значения в строковый объект {{jsxref("Global_Objects/String", "String")}}, на котором он был вызван, начиная с индекса fromIndex. Возвращает -1, если значение не найдено.

+ +

Синтаксис

+ +
str.indexOf(searchValue, [fromIndex])
+ +

Параметры

+ +
+
searchValue
+
Строка, представляющая искомое значение.
+
fromIndex
+
Необязательный параметр. Местоположение внутри строки, откуда начинать поиск. Может быть любым целым числом. Значение по умолчанию установлено в 0. Если fromIndex < 0, поиск ведётся по всей строке (так же, как если бы был передан 0). Если fromIndex >= str.length, метод вернёт -1, но только в том случае, если searchValue не равен пустой строке, в этом случае он вернёт str.length.
+
+ +

Описание

+ +

Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке stringName равен stringName.length - 1.

+ +
'Синий кит'.indexOf('Синий');   // вернёт  0
+'Синий кит'.indexOf('Голубой');  // вернёт -1
+'Синий кит'.indexOf('кит', 0);    // вернёт  6
+'Синий кит'.indexOf('кит', 5);    // вернёт  6
+'Синий кит'.indexOf('', 8);       // вернёт  8
+'Синий кит'.indexOf('', 9);      // вернёт 9
+'Синий кит'.indexOf('', 10);      // вернёт 9
+
+ +

Регистрозависимость

+ +

Метод indexOf() является регистрозависимым. Например, следующее выражение вернёт -1:

+ +
'Синий кит'.indexOf('синий'); // вернёт -1
+
+ +

Проверка на вхождение

+ +

Обратите внимание, что значение 0 не вычисляется в true, а значение -1 не вычисляется в false. Поэтому, для проверки того, что конкретная строка содержится в другой строке, правильно делать так:

+ +
'Синий кит'.indexOf('Синий') !== -1; // true
+'Синий кит'.indexOf('Голубой') !== -1; // false
+
+ +

Примеры

+ +

Пример: использование методов indexOf() и lastIndexOf()

+ +

В следующем примере используются методы indexOf() и {{jsxref("String.prototype.lastIndexOf()", "lastIndexOf()")}} для нахождения значений в строке "Дивный новый мир".

+ +
var anyString = 'Дивный новый мир';
+
+console.log('Индекс первого вхождения «й» с начала строки равен ' + anyString.indexOf('й'));
+// Отобразит 5
+console.log('Индекс первого вхождения «й» с конца строки равен ' + anyString.lastIndexOf('й'));
+// Отобразит 11
+
+console.log('Индекс вхождения «новый» с начала строки равен ' + anyString.indexOf('новый'));
+// Отобразит 7
+console.log('Индекс вхождения «новый» с конца строки равен ' + anyString.lastIndexOf('новый'));
+// Отобразит 7
+
+ +

Пример: метод indexOf() и регистрозависимость

+ +

В следующем примере определяются две строковых переменных. Переменные содержат одинаковые строки, за исключение того, что слова во второй строке начинаются с заглавных букв. Первый вызов метода {{domxref("console.log()")}} отобразит 18. Но поскольку метод indexOf() является регистрозависимым, строка "чеддер" в переменной myCapString не будет найдена, так что второй вызов метода console.log() отобразит -1.

+ +
var myString    = 'бри, пеппер джек, чеддер';
+var myCapString = 'Бри, Пеппер Джек, Чеддер';
+
+console.log('Вызов myString.indexOf("чеддер") вернул ' + myString.indexOf('чеддер'));
+// Отобразит 18
+console.log('Вызов myCapString.indexOf("чеддер") вернул ' + myCapString.indexOf('чеддер'));
+// Отобразит -1
+
+ +

Пример: использование метода indexOf() для подсчёта вхождений буквы в строку

+ +

Следующий пример устанавливает значение переменной count в количество вхождений буквы в в строку str:

+ +
var str = 'Быть или не быть, вот в чём вопрос.';
+var count = 0;
+var pos = str.indexOf('в');
+
+while (pos !== -1) {
+  count++;
+  pos = str.indexOf('в', pos + 1);
+}
+
+console.log(count); // отобразит 3
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение.
{{SpecName('ES5.1', '#sec-15.5.4.7', 'String.prototype.indexOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/italics/index.html b/files/ru/web/javascript/reference/global_objects/string/italics/index.html new file mode 100644 index 0000000000..3876249dcb --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/italics/index.html @@ -0,0 +1,114 @@ +--- +title: String.prototype.italics() +slug: Web/JavaScript/Reference/Global_Objects/String/italics +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/italics +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод italics() создаёт HTML-элемент {{HTMLElement("i")}}, заставляющий строку отображаться курсивом.

+ +

Синтаксис

+
str.italics()
+ +

Описание

+

Метод italics() заключает строку в тег <i>: "<i>str</i>".

+ +

Примеры

+ +

Пример: использование метода italics()

+

В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:

+
var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+
+

Этот пример генерирует такой же вывод, как и следующий HTML:

+
<blink>Привет, мир</blink>
+<b>Привет, мир</b>
+<i>Привет, мир</i>
+<strike>Привет, мир</strike>
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.italics', 'String.prototype.italics')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/lastindexof/index.html b/files/ru/web/javascript/reference/global_objects/string/lastindexof/index.html new file mode 100644 index 0000000000..853670b0e1 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/lastindexof/index.html @@ -0,0 +1,155 @@ +--- +title: String.prototype.lastIndexOf() +slug: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf +tags: + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод lastIndexOf() возвращает индекс последнего вхождения указанного значения в строковый объект {{jsxref("Global_Objects/String", "String")}}, на котором он был вызван, или -1, если ничего не было найдено. Поиск по строке ведётся от конца к началу, начиная с индекса fromIndex.

+ +

Синтаксис

+ +
str.lastIndexOf(searchValue[, fromIndex])
+ +

Параметры

+ +
+
searchValue
+
Строка, представляющая искомое значение.
+
fromIndex
+
Необязательный параметр. Местоположение внутри строки, откуда начинать поиск, нумерация индексов идёт слева направо. Может быть любым целым числом. Значение по умолчанию установлено в str.length. Если оно отрицательно, трактуется как 0. Если fromIndex > str.length, параметр fromIndex будет трактоваться как str.length.
+
+ +

Описание

+ +

Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке stringName равен stringName.length - 1.

+ +
'канал'.lastIndexOf('а');     // вернёт 3
+'канал'.lastIndexOf('а', 2);  // вернёт 1
+'канал'.lastIndexOf('а', 0);  // вернёт -1
+'канал'.lastIndexOf('ч');     // вернёт -1
+
+ +

Регистрозависимость

+ +

Метод lastIndexOf() является регистрозависимым. Например, следующее выражение вернёт -1:

+ +
'Cиний кит, касатка'.lastIndexOf('синий'); // вернёт -1
+
+ +

Примеры

+ +

Пример: использование методов indexOf() и lastIndexOf()

+ +

В следующем примере используются методы {{jsxref("String.prototype.indexOf()", "indexOf()")}} и lastIndexOf() для нахождения значений в строке "Дивный новый мир".

+ +
var anyString = 'Дивный новый мир';
+
+console.log('Индекс первого вхождения «й» с начала строки равен ' + anyString.indexOf('й'));
+// Отобразит 5
+console.log('Индекс первого вхождения «й» с конца строки равен ' + anyString.lastIndexOf('й'));
+// Отобразит 11
+
+console.log('Индекс вхождения «новый» с начала строки равен ' + anyString.indexOf('новый'));
+// Отобразит 7
+console.log('Индекс вхождения «новый» с конца строки равен ' + anyString.lastIndexOf('новый'));
+// Отобразит 7
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение.
{{SpecName('ES5.1', '#sec-15.5.4.8', 'String.prototype.lastIndexOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.lastindexof', 'String.prototype.lastIndexOf')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/length/index.html b/files/ru/web/javascript/reference/global_objects/string/length/index.html new file mode 100644 index 0000000000..f794c6ccdf --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/length/index.html @@ -0,0 +1,116 @@ +--- +title: String.length +slug: Web/JavaScript/Reference/Global_Objects/String/length +tags: + - JavaScript + - Property + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/length +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Свойство length представляет длину строки.

+ +

Синтаксис

+
str.length
+ +

Описание

+

Это свойство возвращает количество кодовых значений в строке. В {{interwiki("wikipedia", "UTF-16")}}, строковом формате, используемом в JavaScript, для представления большинства символов используется одно 16-битное кодовое значение, но для представления не так часто используемых символов требуется два кодовых значения, так что вполне может быть так, что значение, возвращённое свойством length не будет соответствовать действительному количеству символов в строке.

+

Для пустых строк свойство length возвращает 0.

+

Статическое свойство String.length возвращает значение 1.

+ +

Примеры

+ +

Пример: базовое использование

+
var x = 'Mozilla';
+var empty = '';
+
+console.log('Слово «Mozilla» занимает ' + x.length + ' кодовых значений');
+/* "Слово «Mozilla» занимает 7 кодовых значений" */
+
+console.log('Пустая строка имеет длину, равную ' + empty.length);
+/* "Пустая строка имеет длину, равную 0" */
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.5.1', 'String.prototype.length')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-string-instances-length', 'String.prototype.length')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/link/index.html b/files/ru/web/javascript/reference/global_objects/string/link/index.html new file mode 100644 index 0000000000..00cec2d905 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/link/index.html @@ -0,0 +1,131 @@ +--- +title: String.prototype.link() +slug: Web/JavaScript/Reference/Global_Objects/String/link +tags: + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/link +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+ +

Метод link() создаёт HTML-элемент {{HTMLElement("a")}}, заставляющий строку отображаться в виде ссылки на другой URL.

+ +

Синтаксис

+ +
str.link(url)
+ +

Параметры

+ +
+
url
+
Любая строка, определяющая атрибут href тега <a>; она должна содержать допустимый URL (относительный или абсолютный), символы амперсанда & должны быть закодированы в ней как &amp;, а символы кавычки " — как &quot;.
+
+ +

Описание

+ +

Метод link() используется для создания кусочка HTML со ссылкой в гипертексте. Возвращённая строка затем может быть добавлена в документ при помощи метода {{domxref("document.write()")}} или свойства {{domxref("element.innerHTML")}}

+ +

Ссылки, созданные методом link(), становятся элементами в массиве {{domxref("document.links")}}.

+ +

Примеры

+ + + +

В следующем примере слово «MDN» отображается в виде гипертекстовой ссылки, ведущей на сайт Сети разработчиков Mozilla.

+ +
var hotText = 'MDN';
+var URL = 'https://developer.mozilla.org/';
+
+document.write('Нажмите для возврата на ' + hotText.link(URL));
+
+ +

Этот пример генерирует такой же вывод, как и следующий HTML:

+ +
Нажмите для возврата на <a href="https://developer.mozilla.org/">MDN</a>
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.link', 'String.prototype.link')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Примечания по Gecko

+ +

Начиная с версии {{gecko("17")}}, символ " (кавычка) в строках, передаваемых в качестве параметра url, заменяется его HTML-мнемоникой &quot;.

+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/localecompare/index.html b/files/ru/web/javascript/reference/global_objects/string/localecompare/index.html new file mode 100644 index 0000000000..606cf86549 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/localecompare/index.html @@ -0,0 +1,196 @@ +--- +title: String.prototype.localeCompare() +slug: Web/JavaScript/Reference/Global_Objects/String/localeCompare +tags: + - Internationalization + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/localeCompare +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод localeCompare() возвращает число, указывающее, должна ли данная строка находиться до, после или в том же самом месте, что и строка, переданная через параметр, при сортировке этих строк.

+ +

Новые аргументы locales и options позволяют приложениям определять язык, чей порядок сортировки оно хочет использовать и настраивать поведение этой функции. В старых реализациях, игнорирующих аргументы locales и options, используемая локаль и порядок сортировки целиком зависят от реализации.

+ +

Синтаксис

+ +
str.localeCompare(compareString[, locales[, options]])
+ +

Параметры

+ +

Проверьте раздел Совместимость с браузерами, чтобы увидеть, какие браузеры поддерживают аргументы locales и options, и Пример: проверка поддержки аргументов locales и options для определения этой возможности.

+ +
+
compareString
+
Строка, с которой сравнивается данная.
+
+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Collator', 'Parameters')}}
+ +

Описание

+ +

Возвращает число, указывающее, должна данная строка находится до, после или в том же самом месте, что и строка, переданная через параметр, при сортировке этих строк. Если данная строка предшествует строке compareString, возвращает отрицательное число, если она следует за строкой compareString, возвращает положительное значение и возвращает 0, если строки находятся на одном уровне.

+ +

Примеры

+ +

Пример: использование метода localeCompare()

+ +

Следующий пример демонстрирует различные потенциальные результаты для строки, находящейся до, после или на том же самом уровне, что и другая строка:

+ +
console.log(new Intl.Collator().compare('a', 'c')); // -2, -1 или другое отрицательное значение
+console.log(new Intl.Collator().compare('c', 'a')); // 2, 1 или другое положительное значение
+console.log(new Intl.Collator().compare('a', 'a')); // 0
+
+ +

Обратите внимание, что результат, показанный в коде выше, может сильно различаться в зависимости от браузера и его версии. Происходит это потому, что возвращаемые значения зависят от реализации. То есть, спецификация требует только того, чтобы значение было отрицательным, если строка данная следует до переданной, и положительным — если после.

+ +

Пример: проверка поддержки аргументов locales и options

+ +

Аргументы locales и options поддерживаются ещё не всеми браузерами. Для проверки того, поддерживает ли их уже реализация, можно затребовать несуществующую метку языка и проверить, будет ли выброшено исключение {{jsxref("Global_Objects/RangeError", "RangeError")}}:

+ +
function localeCompareSupportsLocales() {
+  try {
+    'a'.localeCompare​('b', 'i');
+  } catch (e) {
+    return e​.name === 'RangeError';
+  }
+  return false;
+}
+
+ +

Пример: использование аргумента locales

+ +

Результаты, предоставляемые методом localeCompare(), сильно различаются в зависимости от языка. Для получения порядка сортировки языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) через аргумент locales:

+ +
console.log('ä'.localeCompare('z', 'de')); // отрицательное значение: в немецком буква ä идёт рядом с буквой a
+console.log('ä'.localeCompare('z', 'sv')); // положительное значение: в шведском буква ä следует после буквы z
+
+ +

Пример: использование аргумента options

+ +

Результат, предоставляемый методом localeCompare(), может быть настроен с помощью аргумента options:

+ +
// В немецком буква a является базовой для буквы ä
+console.log('ä'.localeCompare('a', 'de', { sensitivity: 'base' })); // 0
+
+// В шведском буквы ä и a являются двумя разными базовыми буквами
+console.log('ä'.localeCompare('a', 'sv', { sensitivity: 'base' })); // положительное значение
+
+ +

Производительность

+ +

При сравнении большого количества строк, например, при сортировке больших массивов, лучшим вариантом будет создание объекта {{jsxref("Global_Objects/Collator", "Intl.Collator")}} и использование функции, предоставляемой его свойством {{jsxref("Collator.prototype.compare", "compare")}}.

+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.9', 'String.prototype.localeCompare')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.localecompare', 'String.prototype.localeCompare')}}{{Spec2('ES6')}} 
{{SpecName('ES Int 1.0', '#sec-13.1.1', 'String.prototype.localeCompare')}}{{Spec2('ES Int 1.0')}}Определение параметров locale и option.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Аргументы locales и options{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Аргументы locales и options{{CompatNo}}{{CompatChrome("26")}}{{CompatNo}}
+ {{bug("864843")}}
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/match/index.html b/files/ru/web/javascript/reference/global_objects/string/match/index.html new file mode 100644 index 0000000000..ebcc53c574 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/match/index.html @@ -0,0 +1,177 @@ +--- +title: String.prototype.match() +slug: Web/JavaScript/Reference/Global_Objects/String/match +tags: + - JavaScript + - Method + - Prototype + - Reference + - Regular Expressions + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/match +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод match() возвращает получившиеся совпадения при сопоставлении строки с регулярным выражением.

+ +

Синтаксис

+ +
str.match(regexp)
+ +

Параметры

+ +
+
regexp
+
Объект регулярного выражения. Если будет передан объект obj, не являющийся регулярным выражением, он будет неявно преобразован в объект {{jsxref("Global_Objects/RegExp", "RegExp")}} через вызов конструктора new RegExp(obj).
+
+ +

Возвращаемое значение

+ +
+
array
+
Объект {{jsxref("Global_Objects/Array", "Array")}}, содержащий результаты сопоставления, или {{jsxref("Global_Objects/null", "null")}}, если ничего не было сопоставлено.
+
+ +

Описание

+ +

Если регулярное выражение не содержит флаг g, возвращаемый результат будет тем же самым, что и при вызове метода {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}}. Возвращаемый объект {{jsxref("Global_Objects/Array", "массива", "", 1)}} имеет дополнительное свойство input, которое содержит оригинальную строку. Кроме того, он имеет свойство index, которое представляет индекс (нумерация с нуля) сопоставления в строке.

+ +

Если регулярное выражение содержит флаг g, метод вернёт {{jsxref("Global_Objects/Array", "массив", "", 1)}}, содержащий все сопоставления. Если сопоставлений не было, метод вернёт значение {{jsxref("Global_Objects/null", "null")}}.

+ +

Смотрите также: методы объекта RegExp

+ + + +

Примеры

+ +

Пример: использование метода match()

+ +

В следующем примере метод match() используется для поиска слова 'Глава', за которым следуют 1 или более цифр, за которыми следуют 0 или более раз группы из точки и цифры. Регулярное выражение включает флаг i, так что регистр букв игнорируется.

+ +
var str = 'Глава 3.4.5.1 содержит дополнительную информацию';
+var re = /(глава \d+(\.\d)*)/i;
+var found = str.match(re);
+
+console.log(found);
+
+// выведет [ 'Глава 3.4.5.1',
+//           'Глава 3.4.5.1',
+//           '.1',
+//           index: 0,
+//           input: 'Глава 3.4.5.1 содержит дополнительную информацию' ]
+
+// 'Глава 3.4.5.1' - это первое сопоставление и первое значение,
+// сопоставленное с группой `(Глава \d+(\.\d)*)`.
+// '.1' - это последнее значение, сопоставленное с группой `(\.\d)`.
+// Свойство 'index' содержит значение (0) индекса совпадения
+// относительно начала сопоставления
+// Свойство 'input' содержит значение введенной строки.
+ +

Пример: использование флагов глобальности и игнорирования регистра с методом match()

+ +

Следующий пример демонстрирует использование флагов глобального поиска и игнорирования регистра символов вместе с методом match(). Возвращаются все буквы от А до Д и от а до д, каждая в своём элементе массива.

+ +
var str = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя';
+var regexp = /[А-Д]/gi;
+var matches_array = str.match(regexp);
+
+console.log(matches_array);
+// ['А', 'Б', 'В', 'Г', 'Д', 'а', 'б', 'в', 'г', 'д']
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.10', 'String.prototype.match')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.prototype.match', 'String.prototype.match')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Примечания по Firefox

+ + + +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/matchall/index.html b/files/ru/web/javascript/reference/global_objects/string/matchall/index.html new file mode 100644 index 0000000000..6c8defbc17 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/matchall/index.html @@ -0,0 +1,120 @@ +--- +title: String.prototype.matchAll() +slug: Web/JavaScript/Reference/Global_Objects/String/matchAll +tags: + - JavaScript + - Method + - Prototype + - Reference + - Regular Expressions + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll +--- +
{{JSRef}}
+ +

Метод matchAll() возвращает итератор по всем результатам при сопоставлении строки с регулярным выражением.

+ +
{{EmbedInteractiveExample("pages/js/string-matchall.html")}}
+ + + +

Синтаксис

+ +
str.matchAll(regexp)
+ +

Параметры

+ +
+
regexp
+
Объект регулярного выражения. Если передано значение, не являющееся объектом регулярного выражения, оно неявно преобразуется в {{jsxref("RegExp")}} используя new RegExp(obj).
+
+ +

Возвращаемое значение

+ +

Возвращается iterator (не перезапускаемый).

+ +

Примеры

+ +

Regexp.exec() и matchAll()

+ +

До добавления метода matchAll в JavaScript, можно было использовать метод regexp.exec (и регулярные выражения с флагом /g ) в цикле для получения доступа к совпадениям:

+ +
const regexp = RegExp('foo*','g');
+const str = 'table football, foosball';
+
+while ((matches = regexp.exec(str)) !== null) {
+  console.log(`Found ${matches[0]}. Next starts at ${regexp.lastIndex}.`);
+  // expected output: "Found foo. Next starts at 9."
+  // expected output: "Found foo. Next starts at 19."
+}
+
+ +

С появлением matchAll, нет необходимости использовать цикл while и метод exec с флагом /g.
+ Используя вместо этого метод matchAll, вы получаете итератор, который вы можете использовать более удобно с конструкциями for...of, array spread, или {{jsxref("Array.from()")}} :

+ +
const regexp = RegExp('foo*','g');
+const str = 'table football, foosball';
+let matches = str.matchAll(regexp);
+
+for (const match of matches) {
+  console.log(match);
+}
+// Array [ "foo" ]
+// Array [ "foo" ]
+
+// итерация больше недоступна после вызова for of
+// Для создания нового итератора вызовите matchAll повторно
+matches = str.matchAll(regexp);
+
+Array.from(matches, m => m[0]);
+// Array [ "foo", "foo" ]
+
+ +

Улучшенный доступ к группам захвата

+ +

Еще одна веская причина использовать matchAll это улучшенный доступ к группам захвата. Группы захвата игнорируются при использовании match() с глобальным флагом /g:

+ +
var regexp = /t(e)(st(\d?))/g;
+var str = 'test1test2';
+
+str.match(regexp);
+// Array ['test1', 'test2']
+ +

С matchAll у вас появляется к ним доступ:

+ +
let array = [...str.matchAll(regexp)];
+
+array[0];
+// ['test1', 'e', 'st1', '1', index: 0, input: 'test1test2', length: 4]
+array[1];
+// ['test2', 'e', 'st2', '2', index: 5, input: 'test1test2', length: 4]
+
+ +

Спецификации

+ + + + + + + + + + + + +
СпецификацияСтатус
String.prototype.matchAllStage 3
+ +

Браузерная совместимость

+ + + +

{{Compat("javascript.builtins.String.matchAll")}}

+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/normalize/index.html b/files/ru/web/javascript/reference/global_objects/string/normalize/index.html new file mode 100644 index 0000000000..098bc2de09 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/normalize/index.html @@ -0,0 +1,174 @@ +--- +title: String.prototype.normalize() +slug: Web/JavaScript/Reference/Global_Objects/String/normalize +tags: + - ECMAScript6 + - JavaScript + - Method + - Prototype + - Reference + - String + - Unicode +translation_of: Web/JavaScript/Reference/Global_Objects/String/normalize +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод normalize() возвращает форму нормализации Юникода данной строки (если значение не является строкой, сначала оно будет в неё преобразовано).

+ +

Одна из особенностей Юникода - возможность считать два разных символа эквивалентными при выполнении сортировки и иных операций, которые основаны на сравнении.

+ +

Виды эквивалентности:
+ - первый - каноническая эквивалентность, когда две последовательности code point являются полностью взаимозаменяемыми.

+ +

- второй - совместимость - две совместимые последовательности code point выглядят по-разному, но в некоторых случаях они могут быть взаимозаменяемыми.

+ +

'æ' взаимозаменяемый 'ae', но они не являются строго эквивалентными, если не провести некоторую нормализацию

+ +

Синтаксис

+ +
str.normalize([form])
+ +

Параметры

+ +
+
form
+
Одно из значений "NFC", "NFD", "NFKC" или "NFKD", определяющих форму нормализации Юникода. Если параметр опущен или равен {{jsxref("Global_Objects/undefined", "undefined")}}, будет использоваться значение "NFC". +
    +
  • NFC —  форма нормализации канонической композицией (Normalization Form Canonical Composition, 'NFC'), по умолчанию;
  • +
  • NFD — форма нормализации канонической декомпозицией (Normalization Form Canonical Decomposition, 'NFD');
  • +
  • NFKC — форма нормализации совместимой композицией (Normalization Form Compatibility Composition, 'NFKC');
  • +
  • NFKD — форма нормализации совместимой декомпозицией (Normalization Form Compatibility Decomposition, 'NFKD').
  • +
+
+
+ +

Выбрасываемые исключения

+ +
+
{{jsxref("Global_Objects/RangeError", "RangeError")}}
+
Если параметр form не является одним из вышеперечисленных значений, будет выброшено исключение {{jsxref("Global_Objects/RangeError", "RangeError")}}.
+
+ +

Описание

+ +

Метод normalize() возвращает указанную форму нормализации Юникода строки. Он не изменяет значение самой строки.

+ +

Примеры

+ +

Пример: использование метода normalize()

+ +
let valueStr = ['h', 'ĥ', 'æ', 'ae', 'g', 'ġ'],
+    normArr = valueStr.map(function (text) {
+        return text.normalize(); // (по умолчанию 'NFC') normArr (после сортировки) -> [ae, g, h, æ, ġ, ĥ]
+        //return text.normalize('NFD'); // normArr (после сортировки) -> [ae, g, ġ, h, ĥ, æ]
+        //return text.normalize('NFKC'); // normArr (после сортировки) -> [ae, g, h, æ, ġ, ĥ]
+        //return text.normalize('NFKD'); // normArr (после сортировки) -> [ae, g, ġ, h, ĥ, æ]
+    });
+
+//После приведение строк в нормальную форму, мы можем провести сортировку, массива:
+normArr.sort(function (f,s) {
+    if (f < s) {
+        return -1;
+    } else if (f === s) {
+        return 0;
+    } else {
+        return 1;
+    }
+});
+
+//Приведение к нормальной форме можно выполнить во время сортировки. Нормализацию при этом можно выполнять с помощью разных форм нормализации
+let valueStrNorm = ['h', 's', 'ĥ', 'æ', 'ș', 'ae', 'g', 'ġ'];
+valueStrNorm.sort(function (first, second) {
+    let fN = first.normalize(),
+        sN = second.normalize('NFKC');
+
+    if (fN < sN) {
+        return -1;
+    } else if (fN === sN) {
+        return 0;
+    } else {
+        return 1;
+    }
+});
+
+valueStrNorm.join(', ');//-> ae, g, h, s, æ, ġ, ĥ, ș
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.normalize', 'String.prototype.normalize')}}{{Spec2('ES6')}}Изначальное определение.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("34")}}{{CompatGeckoDesktop("31")}}{{CompatIE("11")}} на Windows 10 Preview{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("34")}}{{CompatNo}}
+ {{bug("864843")}}
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/padend/index.html b/files/ru/web/javascript/reference/global_objects/string/padend/index.html new file mode 100644 index 0000000000..31da2edad0 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/padend/index.html @@ -0,0 +1,94 @@ +--- +title: String.prototype.padEnd() +slug: Web/JavaScript/Reference/Global_Objects/String/padEnd +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd +--- +
{{JSRef}}{{SeeCompatTable}}
+ +

Метод padEnd() дополняет текущую строку с помощью заданной строки (в конечном счете повторяя), так чтобы результирующая строка достигла заданной длины. Дополнение применяется в конце (справа) текущей строки.

+ +

Синтаксис

+ +
str.padEnd(targetLength [, padString])
+ +

Параметры

+ +
+
targetLength
+
Длина результирующей строки, после того как текущая строка была дополнена. Если этот параметр меньше длины текущей строки, то будет возвращена текущая строка , как она есть.
+
padString {{optional_inline}}
+
Строка для дополнения текущей строки с. Если эта строка слишком длинная, она будет урезана и будет применяться ее левая большая часть. " " (U+0020) - значение по умолчанию для этого параметра.
+
+ +

Возвращаемое значение

+ +

Строка указанной длинны дополненная с помощью дополнительной строки в конце текуще строки.

+ +

Примеры

+ +
'abc'.padEnd(10);         // "abc       "
+'abc'.padEnd(10, "foo");  // "abcfoofoof"
+'abc'.padEnd(6,"123456"); // "abc123"
+
+ +

Характеристики

+ +

Этот метод еще не достиг стандарта ECMAScript. Сейчас он в состоянии proposal for ECMAScript.

+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatUnknown}} {{CompatGeckoDesktop(48)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile(48)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
diff --git a/files/ru/web/javascript/reference/global_objects/string/padstart/index.html b/files/ru/web/javascript/reference/global_objects/string/padstart/index.html new file mode 100644 index 0000000000..074516217d --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/padstart/index.html @@ -0,0 +1,92 @@ +--- +title: String.prototype.padStart() +slug: Web/JavaScript/Reference/Global_Objects/String/padStart +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart +--- +
{{JSRef}}{{SeeCompatTable}}
+ +

Метод padStart() заполняет текущую строку другой строкой (несколько раз, если нужно) так, что итоговая строка достигает заданной длины. Заполнение осуществляется в начале (слева) текущей строки.

+ +

Синтаксис

+ +
str.padStart(targetLength [, padString])
+ +

Параметры

+ +
+
targetLength
+
Длина итоговой строки после дополнения текущей строки. Если значение меньше, чем длина текущей строки, текущая строка будет возвращена без изменений.
+
padString {{optional_inline}}
+
Строка для заполнения текущей строки. Если эта строка слишком длинная для заданной длины, она будет обрезана. Значение по умолчанию - " " (U+0020).
+
+ +

Возвращаемое значение

+ +

{{jsxref("String")}} заданной длины с заполнением строкой, выполненное в начале.

+ +

Примеры

+ +
'abc'.padStart(10);         // "       abc"
+'abc'.padStart(10, "foo");  // "foofoofabc"
+'abc'.padStart(6,"123465"); // "123abc"
+'abc'.padStart(8, "0");     // "00000abc"
+'abc'.padStart(1);          // "abc"
+ +

Полифил

+ +

Запуск данного кода перед любым другим кодом будет создавать String.prototype.padStart(), если он нативно не поддерживается.

+ +
// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
+if (!String.prototype.padStart) {
+    String.prototype.padStart = function padStart(targetLength,padString) {
+        targetLength = targetLength>>0; //floor if number or convert non-number to 0;
+        padString = String(padString || ' ');
+        if (this.length > targetLength) {
+            return String(this);
+        }
+        else {
+            targetLength = targetLength-this.length;
+            if (targetLength > padString.length) {
+                padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
+            }
+            return padString.slice(0,targetLength) + String(this);
+        }
+    };
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ESDraft', '#sec-string.prototype.padstart', 'String.prototype.padStart')}}{{Spec2('ESDraft')}}Initial definition in ECMAScript 2017.
+ +

Поддержка браузерами

+ + + +

{{Compat("javascript.builtins.String.padStart")}}

+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/prototype/index.html b/files/ru/web/javascript/reference/global_objects/string/prototype/index.html new file mode 100644 index 0000000000..cecc7325a5 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/prototype/index.html @@ -0,0 +1,229 @@ +--- +title: String.prototype +slug: Web/JavaScript/Reference/Global_Objects/String/prototype +tags: + - JavaScript + - Property + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Свойство String.prototype представляет прототип объекта {{jsxref("Global_Objects/String", "String")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Описание

+ +

Все объекты {{jsxref("Global_Objects/String", "String")}} наследуются от String.prototype. Изменения в прототипе объекта {{jsxref("Global_Objects/String", "String")}} распространяются на все его экземпляры.

+ +

Свойства

+ +
+
String.prototype.constructor
+
Определяет функцию, создающую прототип этого объекта.
+
{{jsxref("String.prototype.length")}}
+
Отражает длину строки.
+
N
+
Используется для доступа к символу в позиции N, где N — это целое число между 0 и длиной строки {{jsxref("String.length", "length")}} минус один. Эти свойства доступны только для чтения.
+
+ +

Методы

+ +

Методы, не относящиеся к HTML

+ +
+
{{jsxref("String.prototype.charAt()")}}
+
Возвращает символ по указанному индексу.
+
{{jsxref("String.prototype.charCodeAt()")}}
+
Возвращает число, представляющее значение символа в Юникоде по указанному индексу.
+
{{jsxref("String.prototype.codePointAt()")}} {{experimental_inline}}
+
Возвращает неотрицательное целое число, представляющее закодированную в UTF-16 кодовую точку значения по указанной позиции.
+
{{jsxref("String.prototype.concat()")}}
+
Объединяет текст двух строк и возвращает новую строку.
+
{{jsxref("String.prototype.includes()")}} {{experimental_inline}}
+
Определяет, находится ли строка внутри другой строки.
+
{{jsxref("String.prototype.endsWith()")}} {{experimental_inline}}
+
Определяет, заканчивается ли строка символами другой строки.
+
{{jsxref("String.prototype.indexOf()")}}
+
Возвращает индекс первого вхождения указанного значения в объекте {{jsxref("Global_Objects/String", "String")}}, на котором был вызван этот метод, или -1, если вхождений нет.
+
{{jsxref("String.prototype.lastIndexOf()")}}
+
Возвращает индекс последнего вхождения указанного значения в объекте {{jsxref("Global_Objects/String", "String")}}, на котором был вызван этот метод, или -1, если вхождений нет.
+
{{jsxref("String.prototype.localeCompare()")}}
+
Возвращает число, указывающее, находится ли образцовая строка до, после или на том же самом месте, что и указанная строка в порядке сортировки.
+
{{jsxref("String.prototype.match()")}}
+
Используется для сопоставления строке регулярного выражения.
+
+ +
+
{{jsxref("String.prototype.matchAll()")}}
+
Возвращает итератор по всем результатам при сопоставлении строки с регулярным выражением.
+
+ +
+
{{jsxref("String.prototype.normalize()")}} {{experimental_inline}}
+
Возвращает форму нормализации Юникода для строкового значения.
+
{{jsxref("String.prototype.quote()")}} {{obsolete_inline}}
+
Оборачивает строку в двойные кавычки (""").
+
{{jsxref("String.prototype.repeat()")}} {{experimental_inline}}
+
Возвращает строку. состоящую из элементов объекта, повторённых указанное количество раз.
+
{{jsxref("String.prototype.replace()")}}
+
Используется для сопоставления строке регулярного выражения и для замены совпавшей подстроки на новую подстроку.
+
{{jsxref("String.prototype.search()")}}
+
Выполняет поиск совпадения регулярного выражения со строкой.
+
{{jsxref("String.prototype.slice()")}}
+
Извлекает часть строки и возвращает новую строку.
+
{{jsxref("String.prototype.split()")}}
+
Разбивает объект {{jsxref("Global_Objects/String", "String")}} на массив строк, разделёных указанной строкой на подстроки.
+
{{jsxref("String.prototype.startsWith()")}} {{experimental_inline}}
+
Определяет, начинается ли строка символами другой строки.
+
{{jsxref("String.prototype.substr()")}}
+
Возвращает указанное количество символов в строке, начинающихся с указанной позиции.
+
{{jsxref("String.prototype.substring()")}}
+
Возвращает символы в строке между двумя индексами.
+
{{jsxref("String.prototype.toLocaleLowerCase()")}}
+
Приводит символы в строке к нижнему регистру согласно текущей локали. Для большинства языков, метод делает то же самое, что и метод {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}.
+
{{jsxref("String.prototype.toLocaleUpperCase()")}}
+
Приводит символы в строке к верхнему регистру согласно текущей локали. Для большинства языков, метод делает то же самое, что и метод {{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}.
+
{{jsxref("String.prototype.toLowerCase()")}}
+
Возвращает строковое значение с символами в нижнем регистре.
+
{{jsxref("String.prototype.toSource()")}} {{non-standard_inline}}
+
Возвращает литерал объекта, представляющий указанный объект; вы можете использовать это значениедля создания нового объекта. Переопределяет метод {{jsxref("Object.prototype.toSource()")}}.
+
{{jsxref("String.prototype.toString()")}}
+
Возвращает строковое представление указаного объекта. Переопределяет метод {{jsxref("Object.prototype.toString()")}}.
+
{{jsxref("String.prototype.toUpperCase()")}}
+
Возвращает строковое значение с символами в верхнем регистре.
+
{{jsxref("String.prototype.trim()")}}
+
Обрезает пробельные символы в начале и в конце строки. Часть стандарта ECMAScript 5.
+
{{jsxref("String.prototype.trimLeft()")}} {{non-standard_inline}}
+
Обрезает пробельные символы с левой стороны строки.
+
{{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}
+
Обрезает пробельные символы с правой стороны строки.
+
{{jsxref("String.prototype.valueOf()")}}
+
Возвращает примитивное значение указанного объекта. Переопределяет метод {{jsxref("Object.prototype.valueOf()")}}.
+
{{jsxref("String.prototype.@@iterator()", "String.prototype[@@iterator]()")}} {{experimental_inline}}
+
Возвращает новый объект итератора Iterator, который итерируется по кодовым точкам строки и возвращает каждую кодовую точку в виде строкового значения.
+
+ +

Методы-обёртки HTML

+ +

Эти методы имеют ограниченное применение, поскольку они представляют только ограниченное подмножество доступных тегов и атрибутов HTML.

+ +
+
{{jsxref("String.prototype.anchor()")}} {{deprecated_inline}}
+
<a name="имя"> (цель гипертекста)
+
{{jsxref("String.prototype.big()")}} {{deprecated_inline}}
+
{{HTMLElement("big")}}
+
{{jsxref("String.prototype.blink()")}} {{deprecated_inline}}
+
{{HTMLElement("blink")}}
+
{{jsxref("String.prototype.bold()")}} {{deprecated_inline}}
+
{{HTMLElement("b")}}
+
{{jsxref("String.prototype.fixed()")}} {{deprecated_inline}}
+
{{HTMLElement("tt")}}
+
{{jsxref("String.prototype.fontcolor()")}} {{deprecated_inline}}
+
<font color="цвет">
+
{{jsxref("String.prototype.fontsize()")}} {{deprecated_inline}}
+
<font size="размер">
+
{{jsxref("String.prototype.italics()")}} {{deprecated_inline}}
+
{{HTMLElement("i")}}
+
{{jsxref("String.prototype.link()")}} {{deprecated_inline}}
+
<a href="url"> (ссылка на URL)
+
{{jsxref("String.prototype.small()")}} {{deprecated_inline}}
+
{{HTMLElement("small")}}
+
{{jsxref("String.prototype.strike()")}} {{deprecated_inline}}
+
{{HTMLElement("strike")}}
+
{{jsxref("String.prototype.sub()")}} {{deprecated_inline}}}
+
{{HTMLElement("sub")}}
+
{{jsxref("String.prototype.sup()")}} {{deprecated_inline}}
+
{{HTMLElement("sup")}}
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение.
{{SpecName('ES5.1', '#sec-15.5.3.1', 'String.prototype')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.prototype', 'String.prototype')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/quote/index.html b/files/ru/web/javascript/reference/global_objects/string/quote/index.html new file mode 100644 index 0000000000..367f9f6eb7 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/quote/index.html @@ -0,0 +1,124 @@ +--- +title: String.prototype.quote() +slug: Web/JavaScript/Reference/Global_Objects/String/quote +tags: + - JavaScript + - Method + - Obsolete + - Prototype + - Reference + - Référence(2) + - String +translation_of: Archive/Web/JavaScript/String.quote +--- +
{{obsolete_header("37")}}
+ +
{{JSRef("Global_Objects", "String")}} {{non-standard_header}}
+ +

Сводка

+ +

Нестандартный метод quote() возвращает копию строки, заменяя различные специальные символы в строке их управляющими последовательностями и заключая результат в двойные кавычки (").

+ +

Синтаксис

+ +
str.quote()
+ +

Примеры

+ +

В таблице ниже метод quote() заменяет любые специальные символы и заключает строку в двойные кавычки. Также обратите внимание на третью колонку, в которой функция {{jsxref("Global_Objects/eval", "eval()")}} снова вычисляет управляющие последовательности.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
strstr.quote()eval(str.quote())
Hello world!"Hello world!"Hello world!
Hello
+ world!
"Hello\n\tworld!"Hello
+ world!
" \ — '"\" \\ \u2014 '"" \ — '
Привет, мир!"\u041F\u0440\u0438\u0432\u0435\u0442, \u043C\u0438\u0440!"Привет, мир!
+ +

Спецификации

+ +

Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.

+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/raw/index.html b/files/ru/web/javascript/reference/global_objects/string/raw/index.html new file mode 100644 index 0000000000..b6d9477108 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/raw/index.html @@ -0,0 +1,153 @@ +--- +title: String.raw() +slug: Web/JavaScript/Reference/Global_Objects/String/raw +tags: + - ECMAScript6 + - Experimental + - Expérimental(2) + - JavaScript + - Method + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/raw +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Статический метод String.raw() является теговой функцией для шаблонных строк; подобно префиксу r в Python или префиксу @ в C# для строковых литералов, эта функция используется для получения необработанной строки из шаблона.

+ +

Синтаксис

+ +

+String.raw(callSite, ...substitutions)
+
+String.raw`templateString`
+
+ +

Параметры

+ +
+
callSite
+
Правильно сформированный объект вызова, например { raw: 'string' }.
+
...substitutions
+
Значения подстановок.
+
templateString
+
Шаблонная строка, возможно с подстановками (${...}).
+
+ +

Выбрасываемые исключения

+ +
+
{{jsxref("Global_Objects/TypeError", "TypeError")}}
+
Если первый аргумент не является правильно сформированным объектом вызова, выбрасывается исключение {{jsxref("Global_Objects/TypeError", "TypeError")}}.
+
+ +

Описание

+ +

В большинстве случаев метод String.raw() используется вместе с шаблонными строками. Первый синтаксис, показанный выше, используется редко, поскольку движок JavaScript будет вызывать метод с соответствующими аргументами, подобно другим теговым функциям.

+ +

Метод String.raw() является единственной встроенной теговой функцией шаблонных строк, выступающей стандартной функцией по объединению их фрагментов. Вы и сами могли бы реализовать подобную функциональность на JavaScript.

+ +

Примеры

+ +

Пример: использование метода String.raw()

+ +
String.raw`Привет\n${2+3}!`;
+// 'Привет\n5!', символ после 'Привет' не является символом новой строки,
+// '\' и 'n' - это два символа.
+
+String.raw`Привет\u000A!`;
+// 'Привет\u000A!', а здесь мы получим символы
+//  \, u, 0, 0, 0, A, всего 6 символов.
+// Экранирующие символы не имеют особого значения и
+// обратные слеши будут присутствовать в выходной строке.
+// Вы можете убедиться в этом, проверив свойство .length строки.
+
+let name = 'Боб';
+String.raw`Привет\n${name}!`;
+// 'Привет\nБоб!', сработала подстановка.
+
+// Обычно вам не нужно вызывать метод String.raw() как функцию,
+// но никто не запрещает вам делать это:
+String.raw({ raw: 'тест' }, 0, 1, 2);
+// 'т0е1с2т'
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.raw', 'String.raw')}}{{Spec2('ES6')}}Изначальное определение.
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatGeckoDesktop("34")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("34")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/repeat/index.html b/files/ru/web/javascript/reference/global_objects/string/repeat/index.html new file mode 100644 index 0000000000..10a6507b6e --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/repeat/index.html @@ -0,0 +1,124 @@ +--- +title: String.prototype.repeat() +slug: Web/JavaScript/Reference/Global_Objects/String/repeat +tags: + - ECMAScript 2015 + - Experimental + - Expérimental(2) + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/repeat +--- +
{{JSRef}}
+ +
Метод repeat() конструирует и возвращает новую строку, содержащую указанное количество соединённых вместе копий строки, на которой он был вызван.
+ +

Синтаксис

+ +
str.repeat(count)
+ +

Параметры

+ +
+
count
+
Целое число от 0 до +∞: [0, +∞), определяющее число повторений строки во вновь создаваемой и возвращаемой строке.
+
+ +

Возвращаемое значение

+ +

Новая строка, содержащая указанное количество копий строки, для которой был вызван метод.

+ +

Исключения

+ + + +
+
+ +

Примеры

+ +
'абв'.repeat(-1);   // RangeError
+'абв'.repeat(0);    // ''
+'абв'.repeat(1);    // 'абв'
+'абв'.repeat(2);    // 'абвабв'
+'абв'.repeat(3.5);  // 'абвабвабв' (количество будет преобразовано в целое число)
+'абв'.repeat(1/0);  // RangeError
+
+({ toString: () => 'абв', repeat: String.prototype.repeat }).repeat(2);
+// 'абвабв' (метод repeat() является обобщённым методом)
+
+ +

Полифилл

+ +

Этот метод был добавлен к спецификации ECMAScript 2015 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:

+ +
if (!String.prototype.repeat) {
+  String.prototype.repeat = function(count) {
+    'use strict';
+    if (this == null) {
+      throw new TypeError('can\'t convert ' + this + ' to object');
+    }
+    var str = '' + this;
+    count = +count;
+    if (count != count) {
+      count = 0;
+    }
+    if (count < 0) {
+      throw new RangeError('repeat count must be non-negative');
+    }
+    if (count == Infinity) {
+      throw new RangeError('repeat count must be less than infinity');
+    }
+    count = Math.floor(count);
+    if (str.length == 0 || count == 0) {
+      return '';
+    }
+    // Обеспечение того, что count является 31-битным целым числом, позволяет нам значительно
+    // соптимизировать главную часть функции. Впрочем, большинство современных (на август
+    // 2014 года) браузеров не обрабатывают строки, длиннее 1 << 28 символов, так что:
+    if (str.length * count >= 1 << 28) {
+      throw new RangeError('repeat count must not overflow maximum string size');
+    }
+    var rpt = '';
+    for (var i = 0; i < count; i++) {
+      rpt += str;
+    }
+    return rpt;
+  }
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES2015', '#sec-string.prototype.repeat', 'String.prototype.repeat')}}{{Spec2('ES2015')}}Изначальное определение.
{{SpecName('ESDraft', '#sec-string.prototype.repeat', 'String.prototype.repeat')}}{{Spec2('ESDraft')}} 
+ +

Совместимость с браузерами

+ + + +

{{Compat("javascript.builtins.String.repeat")}}

diff --git a/files/ru/web/javascript/reference/global_objects/string/replace/index.html b/files/ru/web/javascript/reference/global_objects/string/replace/index.html new file mode 100644 index 0000000000..debc32cf40 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/replace/index.html @@ -0,0 +1,289 @@ +--- +title: String.prototype.replace() +slug: Web/JavaScript/Reference/Global_Objects/String/replace +tags: + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String + - регулярные выражения +translation_of: Web/JavaScript/Reference/Global_Objects/String/replace +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод replace() возвращает новую строку с некоторыми или всеми сопоставлениями с шаблоном, заменёнными на заменитель. Шаблон может быть строкой или {{jsxref("Global_Objects/RegExp", "регулярным выражением", "", 1)}}, а заменитель может быть строкой или функцией, вызываемой при каждом сопоставлении.

+ +

Синтаксис

+ +
str.replace(regexp|substr, newSubStr|function[, flags])
+ +

Параметры

+ +
+
regexp
+
Объект регулярного выражения {{jsxref("Global_Objects/RegExp", "RegExp")}}. Сопоставление заменяется возвращаемым значением второго параметра.
+
substr
+
{{jsxref("Global_Objects/String", "Строка", "", 1)}}, заменяемая на newSubStr. Обратите внимание, будет заменено только первое вхождение искомой строки.
+
newSubStr
+
{{jsxref("Global_Objects/String", "Строка", "", 1)}}, заменяющая подстроку из первого параметра. Поддерживает несколько специальных шаблонов замены; смотрите ниже раздел Передача строки в качестве второго параметра.
+
function
+
Функция, вызываемая для создания новой подстроки (помещаемой вместо подстроки из первого параметра). Аргументы, передаваемые функции, описаны ниже в разделе Передача функции в качестве второго параметра.
+
flags {{non-standard_inline}}
+
+

Обратите внимание: аргумент flags не работает в ядре v8 (движок JavaScript в Chrome и NodeJs). Строка, задающая комбинацию флагов регулярного выражения. Параметр flags в методе String.prototype.replace() является нестандартным расширением. Вместо использования этого параметра используйте объект {{jsxref("Global_Objects/RegExp", "RegExp")}} с соответствующими флагами. Значение этого параметра, если он используется, должно быть строкой, состоящей из одного или более следующих символов, следующим образом влияющих на обработку регулярного выражения:

+ +
+
g
+
глобальное сопоставление
+
i
+
игнорировать регистр
+
m
+
сопоставление по нескольким строкам
+
y {{experimental_inline}}
+
«липкий» поиск, сопоставление начинается с текущей позиции в строке
+
+
+
+ +

Возвращаемое значение

+ +

Новая строка с некоторыми или всеми сопоставлениями шаблона, заменёнными на заменитель.

+ +

Описание

+ +

Этот метод не изменяет объект {{jsxref("Global_Objects/String", "String")}}, на котором он вызывается. Он просто возвращает новую строку.

+ +

Для выполнения глобального поиска и замены либо включите флаг g в регулярное выражение, либо, если первый параметр является строкой, включите флаг g в параметр flags.

+ +

Передача строки в качестве второго параметра

+ +

строка замены может включать следующие специальные шаблоны замены:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ШаблонЗамена
$$Вставляет символ доллара «$».
$&Вставляет сопоставившуюся подстроку.
$`Вставляет часть строки, предшествующую сопоставившейся подстроке.
$'Вставляет часть строки, следующую за сопоставившейся подстрокой.
$n или $nnСимволы n или nn являются десятичными цифрами, вставляет n-ную сопоставившуются подгруппу из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре.
+ +

Передача функции в качестве второго параметра

+ +

В качестве второго параметра вы можете передать функцию. В этом случае функция будет выполнена после произошедшего сопоставления. Результат вызова функции (её возвращаемое значение) будет использоваться в качестве строки замены (обратите внимание: описанные выше специальные шаблоны замены в этом случае не применяются). Обратите внимание, что функция будет вызвана несколько раз для каждого полного сопоставления, если регулярное выражение в первом параметре является глобальным.

+ +

Функция принимает следующие аргументы:

+ + + + + + + + + + + + + + + + + + + + + + + + +
Возможное имяПолучаемое значение
matchСопоставившаяся подстрока (cоответствует шаблону замены $&, описанному выше).
p1, p2, ...n-ная сопоставившаяся подгруппа из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре метода replace() (cоответствует шаблонам замены $1, $2 и так далее, описанным выше). Например, если в качестве шаблона передано регулярное выражение /(\a+)(\b+)/, параметр p1 будет значение сопоставления с подгруппой \a+, а параметр p2 — с подгруппой \b+.
offsetСмещение сопоставившейся подстроки внутри всей рассматриваемой строки (например, если вся строка равна 'abcd', а сопоставившаяся подстрока равна 'bc', то этот аргумент будет равен 1).
stringВся рассматриваемая строка.
+ +

Точное число аргументов будет зависеть от того, был ли первым аргументом объект {{jsxref("Global_Objects/RegExp", "RegExp")}} и, если был, сколько подгрупп в нём определено.

+ +

Следующий пример установит переменную newString в значение 'abc - 12345 - #$*%':

+ +
function replacer(match, p1, p2, p3, offset, string) {
+  // p1 - не цифры, p2 - цифры, p3 - не буквы и не цифры
+  return [p1, p2, p3].join(' - ');
+}
+var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
+
+ +

Примеры

+ +

Пример: использование флагов global и ignore с методом replace()

+ +

В следующем примере регулярное выражение включает флаги для глобального поиска и игнорирования регистра, которые позволяют методу replace() заменить все вхождения слова «яблоки» в строке на слово «апельсины».

+ +
var re = /яблоки/gi;
+var str = 'Яблоки круглые и яблоки сочные.';
+var newstr = str.replace(re, 'апельсины');
+console.log(newstr); // апельсины круглые и апельсины сочные.
+
+ +

Пример: передача регулярного выражения в метод replace()

+ +

В следующем примере в метод replace() передаётся регулярное выражение вместе с флагом игнорирования регистра.

+ +
// Ночь перед Рождеством, Xmas - сокращение для Christmas
+var str = 'Twas the night before Xmas...';
+var newstr = str.replace(/xmas/i, 'Christmas');
+console.log(newstr); // Twas the night before Christmas...
+
+ +

Пример выведет строку 'Twas the night before Christmas...'

+ +

Пример: смена местами слов в строке

+ +

Следующий скрипт меняет местами слова в строке. В качестве текста замены он использует шаблоны замены $1 и $2.

+ +
var re = /([А-ЯЁа-яё]+)\s([А-ЯЁа-яё]+)/;
+var str = 'Джон Смит';
+var newstr = str.replace(re, '$2, $1');
+console.log(newstr); // Смит, Джон
+
+ +

Пример выведет строку 'Смит, Джон'.

+ +

Пример: использование функции для изменения сопоставившихся символов

+ +

В этом примере все входящие в строку (латинские) буквы в верхнем регистре преобразуются в нижний регистр, а перед самой буквой вставляется дефис. Здесь важно то, что прежде чем элемент вставится в качестве замены, над ним нужно провести дополнительные преобразования.

+ +

Функция замены своим параметром принимает сопоставившийся кусок и перед возвратом использует его для преобразования регистра и соединения с дефисом.

+ +
function styleHyphenFormat(propertyName) {
+  function upperToHyphenLower(match) {
+    return '-' + match.toLowerCase();
+  }
+  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
+}
+
+ +

Вызов styleHyphenFormat('borderTop') вернёт строку 'border-top'.

+ +

Поскольку мы хотим провести дополнительные преобразования результата сопоставления до того, как будет использована окончательная подстановка, мы должны использовать функцию. Это заставляет нас принудительно вычислить сопоставление перед использование метода {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}. Если бы мы попытались использовать сопоставление без функции, метод {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}} не сработал бы.

+ +
var newString = propertyName.replace(/[A-Z]/g, '-' + '$&'.toLowerCase());  // не работает
+
+ +

Происходит это потому, что сначала часть '$&'.toLowerCase() вычисляется в строковый литерал (результат по-прежнему равен '$&'), а только потом его символы используются в качестве шаблона.

+ +

Пример: замена градусов по Фаренгейту на эквивалент в градусах по Цельсию

+ +

В следующем примере градусы по Фаренгейту заменяются на эквивалентные градусы по Цельсию. Градусы по Фаренгейту должны быть числом, оканчивающимся на букву F. Функция возвращает количество градусов по Цельсию, оканчивающиеся на букву C. Например, если входное число равняется 212F, функция вернёт 100C. Если число равняется 0F, функция вернёт -17.77777777777778C.

+ +

Регулярное выражение test сопоставляется с любым числом, оканчивающимся на букву F. Количество градусов по Фаренгейту передаётся в функцию через её второй параметр, p1. Функция переводит градусы по Фаренгейту, переданные в виде строки в функцию code>f2c(), в градусы по Цельсию. Затем функция f2c() возвращает количество градусов по Цельсию. Эта функция работает примерно так же, как и флаг s///e в Perl.

+ +
function f2c(x) {
+  function convert(str, p1, offset, s) {
+    return ((p1 - 32) * 5/9) + 'C';
+  }
+  var s = String(x);
+  var test = /(\d+(?:\.\d*)?)F\b/g;
+  return s.replace(test, convert);
+}
+
+ +

Пример: использование функции вместе с регулярным выражением для избавления от цикла for

+ +

Следующий пример принимает строку шаблона и преобразует её в массив объектов.

+ +

Входные данные:

+ +

Строка, состоящая из символов x, - и _

+ +
x-x_
+x---x---x---x---
+x-xxx-xx-x-
+x_x_x___x___x___
+
+ +

Выходные данные:

+ +

Массив объектов. Символ 'x' означает состояние 'on', символ '-' (дефис) означает состояние 'off', а символ '_' (нижнее подчёркивание) означает продолжительность состояния 'on'.

+ +
[
+  { on: true, length: 1 },
+  { on: false, length: 1 },
+  { on: true, length: 2 }
+  ...
+]
+
+ +

Код:

+ +
var str = 'x-x_';
+var retArr = [];
+str.replace(/(x_*)|(-)/g, function(match, p1, p2) {
+  if (p1) { retArr.push({ on: true, length: p1.length }); }
+  if (p2) { retArr.push({ on: false, length: 1 }); }
+});
+
+console.log(retArr);
+
+ +

Этот код сгенерирует массив из трёх объектов в описанном формате без использования цикла for.

+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2
{{SpecName('ES5.1', '#sec-15.5.4.11', 'String.prototype.replace')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.prototype.replace', 'String.prototype.replace')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ +
{{Compat("javascript.builtins.String.replace")}}
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html new file mode 100644 index 0000000000..f938fefb64 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html @@ -0,0 +1,167 @@ +--- +title: String.prototype.replaceAll() +slug: Web/JavaScript/Reference/Global_Objects/String/replaceAll +translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll +--- +
{{JSRef}}
+ +

Метод replaceAll() возвращает новую строку со всеми совпадениями pattern , который меняется на replacementpattern может быть строкой или регулярным выражением, и replacement может быть строкой или функция возвращающая каждое совпадение.

+ +

Исходная строка остается без изменений.

+ +
{{EmbedInteractiveExample("pages/js/string-replaceall.html")}}
+ + + +

Syntax

+ +
const newStr = str.replaceAll(regexp|substr, newSubstr|function)
+
+ +
+

Когда вы используете `regexp` вы должны установить флаг глобального поиска ("g"), иначе вернется ошибка TypeError: "replaceAll must be called with a global RegExp".

+
+ +

Parameters

+ +
+
regexp (pattern)
+
Регулярное выражение или буква с глобальным флагом поиска ("g"). Совпадения меняются на newSubstr или значени возвращенное указанной функцией function. A RegExp без глобального флага поиска ("g") вернет ошибку TypeError: "replaceAll must be called with a global RegExp".
+
substr
+
Подстрока, которая заменится newSubstr. Обрабатывается как буквенная строка, не интерпретируется как регулярное выражение.
+
newSubstr (replacement)
+
Новая строка, которая заменяет найденные подстроки указанные в regexp или substr парамерах. Поддерживается ряд специальных шаблонов замены; смотрите "Specifying a string as a parameter" блок ниже.
+
function (replacement)
+
Функция вызванная при создании новой строки которая используется для замены совпадений указанных в regexp or substr. Аргументы применяемы в этой функции описываются в "Specifying a function as a parameter" блок ниже.
+
+ +

Return value

+ +

Новая строка, в которой все совпадения замены на уазанную подстроку или специальный шаблон.

+ +

Описание

+ +

Этот метод не изменяет исходную строку. Он просто возвращает новую.

+ +

Указание строки в качестве параметра

+ +

Замененная строка может включатся в следующие специальные шаблоны:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PatternInserts
$$Вставляет "$".
$&Вставлет совпадения.
$`Вставляет часть строки которая находится перед совпадениями (строка соответствующая шаблону).
$'Вставляет часть строки которая следует после совпадения (строка соответствующая шаблону).
$nГде n положительное цело число меньше чем 100, вставляет  nth строки указанные в скобках, частичные совпадения, при условии, что первый аргумент был {{jsxref("RegExp")}} object. Обратите внимание, что это 1-индексированный.
+ +

Указание функции в качестве параметра

+ +

Вы можете передать функцию вторым параметром. Вэтом случае, функция вызывается полсе нахождения совпадений. Результат функции может быть использованна как замещающая строка. (Внимание: Выше упомянутые специальные шаблоны замены в данном случае неприменимы.)

+ +

Функция может быть вызвана многократно для каждого замененного совпадения, если регудярное выражение указано с глобальным влагом("g").

+ +

Функция имеет следующие аргументы:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Possible nameSupplied value
matchНайденная построка. (Соответствуетt $& указанному выше)
p1, p2, ...nth количество строк найденых групповыми скобками указанные первым параметром в регулярном выражении. (Соответствует  $1, $2, см. выше) Для примера, если /(\a+)(\b+)/, то p1 это \a+, а p2 это\b+.
offsetСмещение совпадающей подстроки в пределах всей исследуемой строки. (Например, если вся строка была 'abcd', а соответствующая подстрока была 'bc', то этот аргумент будет равен 1.)
stringИсследуется вся цепочка.
+ +

(Точное количество аргументов зависит от того, является ли первый аргумент регулярным выражением — и, если да, то аргументов будет столько сколько указанно в скобках.)

+ +

Examples

+ +

Using replaceAll

+ +
'aabbcc'.replaceAll('b', '.');
+// 'aa..cc'
+ +

Non-global regex throws

+ +

Поиск с регулярными выражениями должен быть с ("g"). Это не работает:

+ +
'aabbcc'.replaceAll(/b/, '.');
+TypeError: replaceAll must be called with a global RegExp
+
+ +

Это работает:

+ +
'aabbcc'.replaceAll(/b/g, '.');
+"aa..cc"
+
+ +

Specifications

+ + + + + + + + + + + + +
Specification
{{SpecName('ESDraft', '#sec-string.prototype.replaceall', 'String.prototype.replaceAll')}}
+ +

Browser compatibility

+ + + +

{{Compat("javascript.builtins.String.replaceAll")}}

+ +

See also

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/search/index.html b/files/ru/web/javascript/reference/global_objects/string/search/index.html new file mode 100644 index 0000000000..7900ac98a0 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/search/index.html @@ -0,0 +1,149 @@ +--- +title: String.prototype.search() +slug: Web/JavaScript/Reference/Global_Objects/String/search +tags: + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String + - регулярные выражения +translation_of: Web/JavaScript/Reference/Global_Objects/String/search +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод search() выполняет поиск сопоставления между регулярным выражением и этим объектом {{jsxref("Global_Objects/String", "String")}}.

+ +

Синтаксис

+ +
str.search([regexp])
+ +

Параметры

+ +
+
regexp
+
Необязательный параметр. Объект регулярного выражения. Если будет передан не объект регулярного выражения, он будет неявно преобразован в объект {{jsxref("Global_Objects/RegExp", "RegExp")}} через вызов конструктора new RegExp(regexp).
+
+ +

Описание

+ +

При успехе метод search() возвращает индекс первого сопоставления с регулярным выражением внутри строки. В противном случае метод вернёт -1.

+ +

Если вы хотите узнать, находится ли шаблон в строке, используйте метод search() (он работает почти так же, как и метод {{jsxref("RegExp.prototype.test()", "test()")}} регулярного выражения, но вместо наличия подстроки возвращает её индекс); для получения дополнительной информации (за счёт более медленного выполнения) используйте метод {{jsxref("String.prototype.match()", "match()")}} (работает так же, как метод {{jsxref("RegExp.prototype.exec()", "exec()")}} регулярного выражения).

+ +

Примеры

+ + + +

В следующем примере в журнал попадает сообщение, зависящее от успешности или неуспешности прохождения проверки.

+ +
function testInput(re, str) {
+  var midstring;
+  if (str.search(re) != -1) {
+    midstring = ' содержит ';
+  } else {
+    midstring = ' не содержит ';
+  }
+  console.log(str + midstring + re);
+}
+
+var testString  = 'hey JuDe';
+var re = /[A-Z]/g;
+
+testInput(re, testString); // выведет: hey Jude содержит /[A-Z]/g
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.12', 'String.prototype.search')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.prototype.search', 'String.prototype.search')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Примечания по Gecko

+ + + +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/slice/index.html b/files/ru/web/javascript/reference/global_objects/string/slice/index.html new file mode 100644 index 0000000000..5b6f3895c4 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/slice/index.html @@ -0,0 +1,173 @@ +--- +title: String.prototype.slice() +slug: Web/JavaScript/Reference/Global_Objects/String/slice +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/slice +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод slice() извлекает часть строки и возвращает новую строку без изменения оригинальной строки.

+ +

{{EmbedInteractiveExample("pages/js/string-slice.html", "taller")}}

+ +

Синтаксис

+ +
str.slice(beginIndex[, endIndex])
+ +

Параметры

+ +
+
beginIndex
+
Индекс, с которого начинать извлечение (нумерация начинается с нуля). Если аргумент отрицателен, то трактуется как str.length + beginIndex (например, если beginIndex равен -3, то он трактуется как str.length - 3). Если beginIndex  не является числом при проверке {{jsxref('Number', 'Number(beginIndex)')}}, он трактуется как 0.
+
Если beginIndex больше или равен str.length, возвращается пустая строка.
+
endIndex
+
Индекс, перед которым заканчивать извлечение (нумерация начинается с нуля). Символ по этому индексу не будет включён.
+
Если endIndex опущен или является undefined или больше чем str.length, slice() извлечёт всё до конца строки. Если аргумент отрицателен, то трактуется как str.length + endIndex (например, если endIndex равен -3, то он трактуется как str.length - 3). Если аргумент не undefined и не является числом при проверке {{jsxref('Number', 'Number(endIndex)')}}, возвращается пустая строка.
+
Если endIndex указан и меньше startIndex, то возвращается пустая строка (например, slice(-1, -3) или slice(3, 1) вернут "").
+
+ +

Возвращаемое значение

+ +

Новая строка, содержащая извлеченную часть строки.

+ +

Описание

+ +

Метод slice() извлекает текст из одной строки и возвращает новую строку. Изменения текста в одной строке не влияют на другую строку.

+ +

Метод slice() извлекает все символы до индекса endIndex, не включая сам этот индекс. Вызов str.slice(1, 4) извлечёт символы со второго по четвёртый (символы под индексами 1, 2 и 3).

+ +

К примеру, вызов str.slice(2, -1) извлечёт символы с третьего по второй с конца строки.

+ +

Примеры

+ +

Пример: использование метода slice() для создания новой строки

+ +

В следующем примере метод slice() используется для создания новой строки.

+ +
let str1 = 'Приближается утро.';
+let str2 = str1.slice(1, 8);
+let str3 = str1.slice(4, -2);
+let str4 = str1.slice(12);
+let str5 = str1.slice(30);
+
+console.log(str2); // ВЫВОД: риближа
+console.log(str3); // ВЫВОД: лижается утр
+console.log(str4); // ВЫВОД:  утро.
+console.log(str5); // ВЫВОД: ""
+
+ +

Пример: использование метода slice() с отрицательными индексами

+ +

В следующем примере метод slice() используется вместе с отрицательными индексами.

+ +
let str = 'Приближается утро.';
+str.slice(-3);     // вернёт 'ро.'
+str.slice(-3, -1); // вернёт 'ро'
+str.slice(0, -1);  // вернёт 'Приближается утро'
+
+ +

В этом примере начальным индексом считается 11-й символ с конца строки, а конечным - 16-й с начала.

+ +
str.slice(-11, 16); // вернет 'ается утр'
+ +

Здесь начальным индексом считается 6-й символ от начала строки, а конечным - 7-й с конца.

+ +
str.slice(6, -7); // вернет 'жаетс'
+ +

В этом примере оба индекса считаются с конца строки: 5-й для начального индекса, 1-й для конечного.

+ +
str.slice(-5, -1); // вернет 'утро'
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.13', 'String.prototype.slice')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.prototype.slice', 'String.prototype.slice')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/small/index.html b/files/ru/web/javascript/reference/global_objects/string/small/index.html new file mode 100644 index 0000000000..00fd79119f --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/small/index.html @@ -0,0 +1,109 @@ +--- +title: String.prototype.small() +slug: Web/JavaScript/Reference/Global_Objects/String/small +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/small +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод small() создаёт HTML-элемент {{HTMLElement("small")}}, заставляющий строку отображаться маленьким шрифтом.

+ +

Синтаксис

+
str.small()
+ +

Описание

+

Метод small() заключает строку в тег <small>: "<small>str</small>".

+ +

Примеры

+ +

Пример: использование метода small()

+

В следующем примере демонстрируется использование нескольких строковых методов для изменения размера строки:

+
var worldString = 'Привет, мир';
+
+console.log(worldString.small());     // <small>Привет, мир</small>
+console.log(worldString.big());       // <big>Привет, мир</big>
+console.log(worldString.fontsize(7)); // <fontsize=7>Привет, мир</fontsize>
+
+

При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута style элемента и управлять им более обобщённым способом, например:

+
document.getElementById('yourElemId').style.fontSize = '0.7em';
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.small', 'String.prototype.small')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/split/index.html b/files/ru/web/javascript/reference/global_objects/string/split/index.html new file mode 100644 index 0000000000..90f94de449 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/split/index.html @@ -0,0 +1,229 @@ +--- +title: String.prototype.split() +slug: Web/JavaScript/Reference/Global_Objects/String/split +tags: + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String + - регулярные выражения +translation_of: Web/JavaScript/Reference/Global_Objects/String/split +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод split() разбивает объект {{jsxref("Global_Objects/String", "String")}} на массив строк путём разделения строки указанной подстрокой.

+ +

Синтаксис

+ +
str.split([separator[, limit]])
+ +

Параметры

+ +
+
separator
+
Необязательный параметр. Указывает символы, используемые в качестве разделителя внутри строки. Параметр separator может быть как строкой, так и {{jsxref("Global_Objects/RegExp", "регулярным выражением", "", 1)}}. Если параметр опущен, возвращённый массив будет содержать один элемент со всей строкой. Если параметр равен пустой строке, строка str будет преобразована в массив символов.
+
limit
+
Необязательный параметр. Целое число, определяющее ограничение на количество найденных подстрок. Метод split() всё равно разделяет строку на каждом сопоставлении с разделителем separator, но обрезает возвращаемый массив так, чтобы он содержал не более limit элементов.
+
+ +

Описание

+ +

Метод split() возвращает новый массив.

+ +

Если разделитель separator найден, он удаляется из строки, а подстроки возвращаются в массиве. Если разделитель опущен, массив будет содержать только один элемент, состоящий из всей строки. Если разделитель является пустой строкой, строка str будет преобразована в массив символов.

+ +

Если разделитель является регулярным выражением, содержащим подгруппы, то каждый раз при сопоставлении с разделителем, результаты (включая те, что не определены) захвата подгруппы будут помещаться внутрь выходного массива. Однако, не все браузеры поддерживают эту возможность.

+ +

{{Note("Если строка является пустой строкой, метод split() вернёт массив, состоящий из одной пустой строки, а не пустой массив.")}}

+ +

Примеры

+ +

Пример: использование метода split()

+ +

В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.

+ +
function splitString(stringToSplit, separator) {
+  var arrayOfStrings = stringToSplit.split(separator);
+
+  console.log('Оригинальная строка: "' + stringToSplit + '"');
+  console.log('Разделитель: "' + separator + '"');
+  console.log('Массив содержит ' + arrayOfStrings.length + ' элементов: ' + arrayOfStrings.join(' / '));
+}
+
+// Строчка из «Бури» Шекспира. Перевод Миxаила Донского.
+var tempestString = 'И как хорош тот новый мир, где есть такие люди!';
+var monthString = 'Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек';
+
+var space = ' ';
+var comma = ',';
+
+splitString(tempestString, space);
+splitString(tempestString);
+splitString(monthString, comma);
+
+ +

Пример сгенерирует следующий вывод:

+ +
Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+Разделитель: " "
+Массив содержит 10 элементов: И / как / хорош / тот / новый / мир, / где / есть / такие / люди!
+
+Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+Разделитель: "undefined"
+Массив содержит 1 элементов: И как хорош тот новый мир, где есть такие люди!
+
+Оригинальная строка: "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек"
+Разделитель: ","
+Массив содержит 12 элементов: Янв / Фев / Мар / Апр / Май / Июн / Июл / Авг / Сен / Окт / Ноя / Дек
+
+ +

Пример: удаление пробелов из строки

+ +

В следующем примере метод split() ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная nameList является массивом, возвращённым в результате работы метода split().

+ +
var names = 'Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ';
+
+console.log(names);
+
+var re = /\s*;\s*/;
+var nameList = names.split(re);
+
+console.log(nameList);
+
+ +

Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.

+ +
Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
+Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд
+
+ +

Пример: возврат ограниченного числа подстрок

+ +

В следующем примере метод split() ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.

+ +
var myString = 'Привет, мир. Как дела?';
+var splits = myString.split(' ', 3);
+
+console.log(splits);
+
+ +

Вывод скрипта будет следующим:

+ +
Привет,,мир.,Как
+
+ +

Пример: захват подгрупп

+ +

Если параметр separator содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.

+ +
var myString = 'Привет 1 мир. Предложение номер 2.';
+var splits = myString.split(/(\d)/);
+
+console.log(splits);
+
+ +

Вывод скрипта будет следующим:

+ +
Привет ,1, мир. Предложение номер ,2,.
+
+ +

Пример: обращение строки при помощи метода split()

+ +
var str = 'фывапролд';
+var strReverse = str.split('').reverse().join(''); // 'длорпавыф'
+// split() возвращает массив, к которому применяются методы reverse() и join()
+
+ +

Бонус: используя оператор {{jsxref("Operators/Comparison_Operators", "===", "#Identity_.2F_strict_equality_(.3D.3D.3D)")}}, можно проверить, являлась ли строка палиндромом.

+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.5.4.14', 'String.prototype.split')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.prototype.split', 'String.prototype.split')}}{{Spec2('ES6')}}
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/startswith/index.html b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html new file mode 100644 index 0000000000..d9228e2925 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html @@ -0,0 +1,81 @@ +--- +title: String.prototype.startsWith() +slug: Web/JavaScript/Reference/Global_Objects/String/startsWith +tags: + - ECMAScript6 + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод startsWith() помогает определить, начинается ли строка с символов указаных в скобках, возвращая, соответственно, true или false.

+ +

Синтаксис

+ +
str.startsWith(searchString[, position])
+ +

Параметры

+ +
+
searchString
+
Символы, искомые в начале данной строки.
+
position
+
Необязательный параметр. Позиция в строке, с которой начинать поиск  searchString; по умолчанию 0.
+
+ +

Описание

+ +

Этот метод позволяет определять, начинается ли строка с указанных в скобках символов.

+ +

Примеры

+ +

Пример: использование метода startsWith()

+ +
var str = 'Быть или не быть, вот в чём вопрос.';
+
+console.log(str.startsWith('Быть'));        // true
+console.log(str.startsWith('не быть'));     // false
+console.log(str.startsWith('не быть', 9));  // true
+
+ +

Полифилл

+ +

Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:

+ +
if (!String.prototype.startsWith) {
+  Object.defineProperty(String.prototype, 'startsWith', {
+    enumerable: false,
+    configurable: false,
+    writable: false,
+    value: function(searchString, position) {
+      position = position || 0;
+      return this.indexOf(searchString, position) === position;
+    }
+  });
+}
+
+ +

Совместимость с браузерами

+ + + +

{{Compat("javascript.builtins.String.startsWith")}}

+ +
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/strike/index.html b/files/ru/web/javascript/reference/global_objects/string/strike/index.html new file mode 100644 index 0000000000..5ecaf8cfb4 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/strike/index.html @@ -0,0 +1,114 @@ +--- +title: String.prototype.strike() +slug: Web/JavaScript/Reference/Global_Objects/String/strike +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/strike +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод strike() создаёт HTML-элемент {{HTMLElement("strike")}}, заставляющий строку отображаться зачёркнутым текстом.

+ +

Синтаксис

+
str.strike()
+ +

Описание

+

Метод strike() заключает строку в тег <strike>: "<strike>str</strike>".

+ +

Примеры

+ +

Пример: использование метода strike()

+

В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:

+
var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+
+

Этот пример генерирует такой же вывод, как и следующий HTML:

+
<blink>Привет, мир</blink>
+<b>Привет, мир</b>
+<i>Привет, мир</i>
+<strike>Привет, мир</strike>
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.strike', 'String.prototype.strike')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/sub/index.html b/files/ru/web/javascript/reference/global_objects/string/sub/index.html new file mode 100644 index 0000000000..69b0c4483c --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/sub/index.html @@ -0,0 +1,109 @@ +--- +title: String.prototype.sub() +slug: Web/JavaScript/Reference/Global_Objects/String/sub +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/sub +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод sub() создаёт HTML-элемент {{HTMLElement("sub")}}, заставляющий строку отображаться подстрочным текстом (нижним индексом).

+ +

Синтаксис

+
str.sub()
+ +

Описание

+

Метод sub() заключает строку в тег <sub>: "<sub>str</sub>".

+ +

Примеры

+ +

Пример: использование методов sub() и sup()

+

В следующем примере для форматирования строки используются методы sub() и {{jsxref("String.prototype.sup()", "sup()")}}:

+
var superText = 'надстрочный';
+var subText = 'подстрочный';
+
+document.write('Вот так выглядит ' + superText.sup() + ' текст.');
+document.write('Вот так выглядит ' + subText.sub() + ' текст.');
+
+

Этот пример генерирует такой же вывод, как и следующий HTML:

+
Вот так выглядит <sup>надстрочный</sup> текст.
+Вот так выглядит <sub>подстрочный</sub> текст.
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.sub', 'String.prototype.sub')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/substr/index.html b/files/ru/web/javascript/reference/global_objects/string/substr/index.html new file mode 100644 index 0000000000..cfc0191ea7 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/substr/index.html @@ -0,0 +1,116 @@ +--- +title: String.prototype.substr() +slug: Web/JavaScript/Reference/Global_Objects/String/substr +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/substr +--- +
+
{{JSRef}}
+ +
+ +
Внимание: так как String.prototype.substr(…) не полностью упразднена (а лишь "удалена из стандартов по вебу"), она считается унаследованной функцией, использование которой лучше избегать там, где это возможно. Она не является частью ядра языка JavaScript и может быть удалена в будущем. Если есть возможность, используйте метод substring().
+ +

Метод substr() возвращает указанное количество символов из строки, начиная с указанной позиции.

+{{EmbedInteractiveExample("pages/js/string-substr.html")}} + + + +

Синтаксис

+ +
str.substr(start[, length])
+ +

Параметры

+ +
+
start
+
Позиция, с которой начинать извлекать символы. Если передано отрицательное число, она трактуется как strLength - start, где strLength равна длине строки (например, если параметр start равен -3, то он трактуется как strLength - 3.)
+
length
+
Необязательный параметр. Количество извлекаемых символов.
+
+ +

Возвращаемое значение

+ +

Новая строка, содержащая часть исходной, обрезанной по переданным параметрам.

+ +

Описание

+ +

Параметр start является индексом символа. Индекс первого символа равен 0, а последнего символа — на один меньше длины строки. Метод substr() начинает извлекать символы начиная с позиции start и собирая length символов (если он не достигнет раньше конца строки, в этом случае будет возвращено меньшее количество символов).

+ +

Если параметр start является положительным и он больше, либо равен длине строки, метод substr() вернёт пустую строку.

+ +

Если параметр start является отрицательным, метод substr() использует его как индекс символа, начиная с конца строки. Если параметр start отрицателен и по модулю больше длины строки, метод substr() будет использовать 0 в качестве начального индекса. Обратите внимание: описанная обработка отрицательных значений аргумента start не поддерживается JScript от Microsoft.

+ +

Если параметр length равен нулю или отрицателен, метод substr() вернёт пустую строку. Если параметр length опущен, метод substr() извлечёт все символы до конца строки.

+ +

Примеры

+ +

Использование метода substr()

+ +
var str = 'абвгдеёжзи';
+
+console.log('(1, 2): '   + str.substr(1, 2));   // '(1, 2): бв'
+console.log('(-3, 2): '  + str.substr(-3, 2));  // '(-3, 2): жз'
+console.log('(-3): '     + str.substr(-3));     // '(-3): жзи'
+console.log('(1): '      + str.substr(1));      // '(1): бвгдеёжзи'
+console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): аб'
+console.log('(20, 2): '  + str.substr(20, 2));  // '(20, 2): '
+
+ +

Полифилл

+ +

JScript от Microsoft не поддерживает отрицательные значения для начального индекса. Если вы хотите использовать эту возможность, вы можете использовать следующий код совместимости для обхода этой ошибки:

+ +
// only run when the substr() function is broken
+if ('ab'.substr(-1) != 'b') {
+  /**
+   *  Get the substring of a string
+   *  @param  {integer}  start   where to start the substring
+   *  @param  {integer}  length  how many characters to return
+   *  @return {string}
+   */
+  String.prototype.substr = function(substr) {
+    return function(start, length) {
+      // call the original method
+      return substr.call(this,
+      	// did we get a negative start, calculate how much it is from the beginning of the string
+        // adjust the start parameter for negative value
+        start < 0 ? this.length + start : start,
+        length)
+    }
+  }(String.prototype.substr);
+}
+
+ +

Спецификации

+ + + + + + + + + + +
Спецификация
{{SpecName('ESDraft', '#sec-string.prototype.substr', 'String.prototype.substr')}}
+ +

Совместимость с браузерами

+ + + +

{{Compat("javascript.builtins.String.substr")}}

+ +

Смотрите также

+ + +
diff --git a/files/ru/web/javascript/reference/global_objects/string/substring/index.html b/files/ru/web/javascript/reference/global_objects/string/substring/index.html new file mode 100644 index 0000000000..9efb4f84a8 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/substring/index.html @@ -0,0 +1,194 @@ +--- +title: String.prototype.substring() +slug: Web/JavaScript/Reference/Global_Objects/String/substring +tags: + - JavaScript + - Method + - Prototype + - Reference + - Référence(2) + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/substring +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод substring() возвращает подстроку строки между двумя индексами, или от одного индекса и до конца строки.

+ +

Синтаксис

+ +
str.substring(indexA[, indexB])
+ +

Параметры

+ +
+
indexA
+
Целое число от 0 до длины строки, определяющее смещение в строке первого символа, который будет включён в результирующую подстроку.
+
indexB
+
Необязательный параметр. Целое число от 0 до длины строки, определяющее смещение в строке первого символа, который не будет включён в результирующую подстроку.
+
+ +

Описание

+ +

Метод substring() извлекает символы, начиная с индекса indexA до, но не включая, индекс indexB. В частности:

+ + + +

Если аргумент indexA будет больше аргумента indexB, то метод substring() сработает так, как если бы аргументы были поменяны местами; например, str.substring(1, 0) == str.substring(0, 1).

+ +

Примеры

+ +

Пример: использование метода substring()

+ +

В следующем примере метод substring() используется для отображения символов из строки 'Mozilla':

+ +
var anyString = 'Mozilla';
+
+// Отобразит 'Moz'
+console.log(anyString.substring(0, 3));
+console.log(anyString.substring(3, 0));
+
+// Отобразит 'lla'
+console.log(anyString.substring(4, 7));
+console.log(anyString.substring(7, 4));
+
+// Отобразит 'Mozill'
+console.log(anyString.substring(0, 6));
+
+// Отобразит 'Mozilla'
+console.log(anyString.substring(0, 7));
+console.log(anyString.substring(0, 10));
+
+ +

Пример: использование метода substring() вместе со свойством length

+ +

Следующий пример использует метод substring() и свойство {{jsxref("String.length", "length")}} для извлечения последних символов из строки. Этот метод может оказаться легче для запоминания, особенно если учесть, что вам не нужно знать начальный и конечный индексы, как это было в примере выше.

+ +
// Отобразит 'illa' - последние 4 символа
+var anyString = 'Mozilla';
+var anyString4 = anyString.substring(anyString.length - 4);
+console.log(anyString4);
+
+// Отобразит 'zilla' - последние 5 символов
+var anyString = 'Mozilla';
+var anyString5 = anyString.substring(anyString.length - 5);
+console.log(anyString5);
+
+ +

Пример: замена подстроки в строке

+ +

Следующий пример демонстрирует замену подстроки в строке. Он заменит как отдельные символы, так и целые подстроки. Вызов функции в конце примера изменит строку 'Дивный новый мир' на строку 'Дивный новый веб'.

+ +
// Заменяет oldS на newS в строке fullS
+function replaceString(oldS, newS, fullS) {
+  for (var i = 0; i < fullS.length; ++i) {
+    if (fullS.substring(i, i + oldS.length) == oldS) {
+      fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length);
+    }
+  }
+  return fullS;
+}
+
+replaceString('мир', 'веб', 'Дивный новый мир');
+
+ +

Обратите внимание, что функция может скатиться в беcконечный цикл, если строка oldS сама является подстрокой для newS — например, если вы попытаетесь заменить слово «мир» на слово «другоймир». Лучше использоваться следующий метод для замены строк:

+ +
function replaceString(oldS, newS, fullS) {
+  return fullS.split(oldS).join(newS);
+}
+
+ +

Код выше следует рассматривать всего лишь как пример работы с подстроками. Если вам нужно заменить подстроки, скорее всего вы захотите использовать метод {{jsxref("String.prototype.replace()")}}.

+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартРеализована в JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.4.15', 'String.prototype.substring')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.substring', 'String.prototype.substring')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/sup/index.html b/files/ru/web/javascript/reference/global_objects/string/sup/index.html new file mode 100644 index 0000000000..092b08a314 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/sup/index.html @@ -0,0 +1,109 @@ +--- +title: String.prototype.sup() +slug: Web/JavaScript/Reference/Global_Objects/String/sup +tags: + - Deprecated + - JavaScript + - Method + - Prototype + - Reference + - String + - Методы оборачивания в HTML +translation_of: Web/JavaScript/Reference/Global_Objects/String/sup +--- +
{{JSRef("Global_Objects", "String")}} {{deprecated_header}}
+ +

Сводка

+

Метод sup() создаёт HTML-элемент {{HTMLElement("sup")}}, заставляющий строку отображаться надстрочным текстом (верхним индексом).

+ +

Синтаксис

+
str.sup()
+ +

Описание

+

Метод sup() заключает строку в тег <sup>: "<sup>str</sup>".

+ +

Примеры

+ +

Пример: использование методов sub() и sup()

+

В следующем примере для форматирования строки используются методы {{jsxref("String.prototype.sub()", "sub()")}} и sup():

+
var superText = 'надстрочный';
+var subText = 'подстрочный';
+
+document.write('Вот так выглядит ' + superText.sup() + ' текст.');
+document.write('Вот так выглядит ' + subText.sub() + ' текст.');
+
+

Этот пример генерирует такой же вывод, как и следующий HTML:

+
Вот так выглядит <sup>надстрочный</sup> текст.
+Вот так выглядит <sub>подстрочный</sub> текст.
+
+ +

Спецификации

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES6', '#sec-string.prototype.sup', 'String.prototype.sup')}}{{Spec2('ES6')}}Изначальное определение. Реализована в JavaScript 1.0.
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html b/files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html new file mode 100644 index 0000000000..16950a2077 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html @@ -0,0 +1,110 @@ +--- +title: String.prototype.toLocaleLowerCase() +slug: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase +tags: + - Internationalization + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Метод toLocaleLowerCase() возвращает значение строки, на которой он был вызван, преобразованное в нижний регистр согласно правилам преобразования регистра локали.

+ +

Синтаксис

+
str.toLocaleLowerCase()
+ +

Описание

+

Метод toLocaleLowerCase() возвращает значение строки, преобразованное в нижний регистр согласно правилам преобразования регистра локали. Метод toLocaleLowerCase() не изменяет значение самой строки. В большинстве случаев он возвращает тот же результат, что и метод {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}, но для некоторых локалей, например, турецкой, в которой правила преобразования регистра отличаются от правил по умолчанию, принятых в Юникоде, он может вернуть другой результат.

+ +

Примеры

+ +

Пример: использование метода toLocaleLowerCase()

+
console.log('АЛФАВИТ'.toLocaleLowerCase()); // 'алфавит'
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.17', 'String.prototype.toLocaleLowerCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolocalelowercase', 'String.prototype.toLocaleLowerCase')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html b/files/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html new file mode 100644 index 0000000000..290852f30e --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html @@ -0,0 +1,110 @@ +--- +title: String.prototype.toLocaleUpperCase() +slug: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase +tags: + - Internationalization + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Метод toLocaleUpperCase() возвращает значение строки, на которой он был вызван, преобразованное в верхний регистр согласно правилам преобразования регистра локали.

+ +

Синтаксис

+
str.toLocaleUpperCase()
+ +

Описание

+

Метод toLocaleUpperCase() возвращает значение строки, преобразованное в верхний регистр согласно правилам преобразования регистра локали. Метод toLocaleUpperCase() не изменяет значение самой строки. В большинстве случаев он возвращает тот же результат, что и метод {{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}, но для некоторых локалей, например, турецкой, в которой правила преобразования регистра отличаются от правил по умолчанию, принятых в Юникоде, он может вернуть другой результат.

+ +

Примеры

+ +

Пример: использование метода toLocaleUpperCase()

+
console.log('алфавит'.toLocaleUpperCase()); // 'АЛФАВИТ'
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 3-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.19', 'String.prototype.toLocaleUpperCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolocaleuppercase', 'String.prototype.toLocaleUpperCase')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/tolowercase/index.html b/files/ru/web/javascript/reference/global_objects/string/tolowercase/index.html new file mode 100644 index 0000000000..c79c41ad6e --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/tolowercase/index.html @@ -0,0 +1,109 @@ +--- +title: String.prototype.toLowerCase() +slug: Web/JavaScript/Reference/Global_Objects/String/toLowerCase +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/toLowerCase +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Метод toLowerCase() возвращает значение строки, на которой он был вызван, преобразованное в нижний регистр.

+ +

Синтаксис

+
str.toLowerCase()
+ +

Описание

+

Метод toLowerCase() возвращает значение строки, преобразованное в нижний регистр. Метод toLowerCase() не изменяет значение самой строки.

+ +

Примеры

+ +

Пример: использование метода toLowerCase()

+
console.log('АЛФАВИТ'.toLowerCase()); // 'алфавит'
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.4.16', 'String.prototype.toLowerCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolowercase', 'String.prototype.toLowerCase')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/tosource/index.html b/files/ru/web/javascript/reference/global_objects/string/tosource/index.html new file mode 100644 index 0000000000..3570fd5b48 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/tosource/index.html @@ -0,0 +1,91 @@ +--- +title: String.prototype.toSource() +slug: Web/JavaScript/Reference/Global_Objects/String/toSource +tags: + - JavaScript + - Method + - Non-standard + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/toSource +--- +
{{JSRef("Global_Objects", "String")}} {{non-standard_header}}
+ +

Сводка

+

Метод toSource() возвращает строковое представление исходного кода объекта.

+ +

Синтаксис

+
String.toSource()
+str.toSource()
+
+ +

Описание

+

Метод toSource() возвращает следующие значения:

+ +

Этот метод обычно вызывается внутренними механизмаим движка JavaScript, а не явно в коде.

+ +

Спецификации

+

Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.

+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/tostring/index.html b/files/ru/web/javascript/reference/global_objects/string/tostring/index.html new file mode 100644 index 0000000000..6987aa12ba --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/tostring/index.html @@ -0,0 +1,111 @@ +--- +title: String.prototype.toString() +slug: Web/JavaScript/Reference/Global_Objects/String/toString +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/toString +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Метод toString() возвращает строку, представляющую указанный объект.

+ +

Синтаксис

+
str.toString()
+ +

Описание

+

Объект {{jsxref("Global_Objects/String", "String")}} переопределяет метод toString(), унаследованный из объекта {{jsxref("Global_Objects/Object", "Object")}}; он не наследует метод {{jsxref("Object.prototype.toString()")}}. Для объектов {{jsxref("Global_Objects/String", "String")}} метод toString() возвращает строку, представляющую объект и делает тоже самое, что и метод {{jsxref("String.prototype.valueOf()")}}.

+ +

Примеры

+ +

Пример: использование метода toString()

+

В следующем примере выводится строковое значение объекта {{jsxref("Global_Objects/String", "String")}}:

+
var x = new String('Привет, мир');
+
+console.log(x.toString()); // Отобразит 'Привет, мир'
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.5.4.2', 'String.prototype.toString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tostring', 'String.prototype.toString')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/touppercase/index.html b/files/ru/web/javascript/reference/global_objects/string/touppercase/index.html new file mode 100644 index 0000000000..96354d60e9 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/touppercase/index.html @@ -0,0 +1,109 @@ +--- +title: String.prototype.toUpperCase() +slug: Web/JavaScript/Reference/Global_Objects/String/toUpperCase +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/toUpperCase +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+

Метод toUpperCase() возвращает значение строки, на которой он был вызван, преобразованное в верхний регистр.

+ +

Синтаксис

+
str.toUpperCase()
+ +

Описание

+

Метод toUpperCase() возвращает значение строки, преобразованное в верхний регистр. Метод toUpperCase() не изменяет значение самой строки.

+ +

Примеры

+ +

Пример: использование метода toUpperCase()

+
console.log('алфавит'.toUpperCase()); // 'АЛФАВИТ'
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.4.18', 'String.prototype.toUpperCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.touppercase', 'String.prototype.toUpperCase')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/trim/index.html b/files/ru/web/javascript/reference/global_objects/string/trim/index.html new file mode 100644 index 0000000000..e7f2037942 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/trim/index.html @@ -0,0 +1,135 @@ +--- +title: String.prototype.trim() +slug: Web/JavaScript/Reference/Global_Objects/String/Trim +tags: + - ECMAScript5 + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/Trim +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод trim() удаляет пробельные символы с начала и конца строки. Пробельными символами в этом контексте считаются все собственно пробельные символы (пробел, табуляция, неразрывный пробел и прочие) и все символы конца строки (LF, CR и прочие).

+ +

Синтаксис

+ +
str.trim()
+ +

Описание

+ +

Метод trim() возвращает строку с вырезанными пробельными символами с её концов. Метод trim() не изменяет значение самой строки.

+ +

Примеры

+ +

Пример: использование метода trim()

+ +

Следующий пример покажет строку 'foo':

+ +
var orig = '   foo  ';
+console.log(orig.trim()); // 'foo'
+
+// Другой пример, в котором .trim() убирает пробельные символы только с одной стороны.
+
+var orig = 'foo    ';
+console.log(orig.trim()); // 'foo'
+
+ +

Полифилл

+ +

Запуск следующего кода до любого другого создаст метод trim(), если он ещё не реализуется браузером.

+ +
if (!String.prototype.trim) {
+  (function() {
+    // Вырезаем BOM и неразрывный пробел
+    String.prototype.trim = function() {
+      return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+    };
+  })();
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES5.1', '#sec-15.5.4.20', 'String.prototype.trim')}}{{Spec2('ES5.1')}}Изначальное определение. Реализована в JavaScript 1.8.1.
{{SpecName('ES6', '#sec-string.prototype.trim', 'String.prototype.trim')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatIE("9")}}{{CompatOpera("10.5")}}{{CompatSafari("5")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/javascript/reference/global_objects/string/trimleft/index.html b/files/ru/web/javascript/reference/global_objects/string/trimleft/index.html new file mode 100644 index 0000000000..f60326e795 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/trimleft/index.html @@ -0,0 +1,93 @@ +--- +title: String.prototype.trimLeft() +slug: Web/JavaScript/Reference/Global_Objects/String/TrimLeft +tags: + - JavaScript + - Method + - Non-standard + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/trimStart +--- +
{{JSRef("Global_Objects", "String")}} {{non-standard_header}}
+ +

Сводка

+

Метод trimLeft() удаляет пробельные символы с левого конца строки.

+ +

Синтаксис

+
str.trimLeft()
+ +

Описание

+

Метод trimLeft() возвращает строку с вырезанными пробельными символами с её левого конца. Метод trimLeft() не изменяет значение самой строки.

+ +

Примеры

+ +

Пример: использование метода trimLeft()

+

Следующий пример покажет строку 'foo ':

+
var str = '   foo  ';
+
+console.log(str.length); // 8
+
+str = str.trimLeft();
+console.log(str.length); // 5
+console.log(str);        // 'foo  '
+
+ +

Спецификации

+

Не является частью какого-либо стандарта. Реализована в JavaScript 1.8.1.

+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/trimright/index.html b/files/ru/web/javascript/reference/global_objects/string/trimright/index.html new file mode 100644 index 0000000000..4a7bd8e907 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/trimright/index.html @@ -0,0 +1,93 @@ +--- +title: String.prototype.trimRight() +slug: Web/JavaScript/Reference/Global_Objects/String/TrimRight +tags: + - JavaScript + - Method + - Non-standard + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/trimEnd +--- +
{{JSRef("Global_Objects", "String")}} {{non-standard_header}}
+ +

Сводка

+

Метод trimRight() удаляет пробельные символы с правого конца строки.

+ +

Синтаксис

+
str.trimRight()
+ +

Описание

+

Метод trimRight() возвращает строку с вырезанными пробельными символами с её правого конца. Метод trimRight() не изменяет значение самой строки.

+ +

Примеры

+ +

Пример: использование метода trimRight()

+

Следующий пример покажет строку ' foo':

+
var str = '   foo  ';
+
+console.log(str.length); // 8
+
+str = str.trimRight();
+console.log(str.length); // 5
+console.log(str);        // '   foo'
+
+ +

Спецификации

+

Не является частью какого-либо стандарта. Реализована в JavaScript 1.8.1.

+ +

Совместимость с браузерами

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Смотрите также

+ diff --git a/files/ru/web/javascript/reference/global_objects/string/valueof/index.html b/files/ru/web/javascript/reference/global_objects/string/valueof/index.html new file mode 100644 index 0000000000..26eba20671 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/valueof/index.html @@ -0,0 +1,120 @@ +--- +title: String.prototype.valueOf() +slug: Web/JavaScript/Reference/Global_Objects/String/valueOf +tags: + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/valueOf +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Сводка

+ +

Метод valueOf() возвращает примитивное значение объекта {{jsxref("Global_Objects/String", "String")}}.

+ +

Синтаксис

+ +
str.valueOf()
+ +

Описание

+ +

Метод valueOf() возвращает примитивное значение объекта {{jsxref("Global_Objects/String", "String")}} в виде строкового типа данных. Это значение эквивалентно значению вызова метода {{jsxref("String.prototype.toString()")}}.

+ +

Этот метод обычно вызывается внутренними механизмами движка JavaScript, а не явно в коде.

+ +

Примеры

+ +

Пример: использование метода valueOf()

+ +
var x = new String('Привет, мир');
+console.log(x.valueOf()); // Отобразит 'Привет, мир'
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.5.4.3', 'String.prototype.valueOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.valueof', 'String.prototype.valueOf')}}{{Spec2('ES6')}} 
+ +

Совместимость с браузерами

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + -- cgit v1.2.3-54-g00ecf