diff options
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects/string/index.html')
-rw-r--r-- | files/ru/web/javascript/reference/global_objects/string/index.html | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/string/index.html b/files/ru/web/javascript/reference/global_objects/string/index.html index 5db7b5e416..80c7293c4d 100644 --- a/files/ru/web/javascript/reference/global_objects/string/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/index.html @@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String <p>Строковые литералы могут быть следующих форм:</p> -<pre class="syntaxbox notranslate"><code>'строка текста' +<pre class="syntaxbox"><code>'строка текста' "строка текста" "中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்" </code></pre> @@ -84,7 +84,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String <p>Либо можно использовать глобальный объект <code>String</code> напрямую:</p> -<pre class="syntaxbox notranslate"><code>String(thing) +<pre class="syntaxbox"><code>String(thing) new String(thing) </code></pre> @@ -103,12 +103,12 @@ new String(thing) <p>Существует два способа добраться до конкретного символа в строке. В первом способе используется метод {{jsxref("String.prototype.charAt()", "charAt()")}}:</p> -<pre class="brush: js notranslate">return 'кот'.charAt(1); // вернёт "о" +<pre class="brush: js">return 'кот'.charAt(1); // вернёт "о" </pre> <p>Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:</p> -<pre class="brush: js notranslate">return 'кот'[1]; // вернёт "о" +<pre class="brush: js">return 'кот'[1]; // вернёт "о" </pre> <p>При доступе к символам посредством нотации с квадратными скобками, попытка удалить символ, или присвоить значение числовому свойству закончится неудачей, поскольку эти свойства являются незаписываемыми и ненастраиваемыми. Смотрите документацию по методу {{jsxref("Object.defineProperty()")}} для дополнительной информации.</p> @@ -117,7 +117,7 @@ new String(thing) <p>Разработчики на C имеют для сравнения строк функцию <code>strcmp()</code>. В JavaScript вы просто используете <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F">операторы меньше и больше</a>:</p> -<pre class="brush: js notranslate">var a = 'a'; +<pre class="brush: js">var a = 'a'; var b = 'b'; if (a < b) { // true print(a + ' меньше чем ' + b); @@ -136,7 +136,7 @@ if (a < b) { // true <p>Строковые литералы (обозначаемые двойными или одинарными кавычками) и строки, возвращённые вызовом <code>String</code> в неконструкторном контексте (то есть, без использования ключевого слова {{jsxref("Operators/new", "new")}}) являются строковыми примитивами. JavaScript автоматически преобразует примитивы в объекты <code>String</code>, так что на строковых примитивах возможно использовать методы объекта <code>String</code>. В контекстах, когда на примитивной строке вызывается метод или происходит поиск свойства, JavaScript автоматически оборачивает строковый примитив объектом и вызывает на нём метод или ищет в нём свойство.</p> -<pre class="brush: js notranslate">var s_prim = 'foo'; +<pre class="brush: js">var s_prim = 'foo'; var s_obj = new String(s_prim); console.log(typeof s_prim); // выведет 'string' @@ -145,7 +145,7 @@ console.log(typeof s_obj); // выведет 'object' <p>Строковые примитивы и объекты <code>String</code> также дают разные результаты при использовании глобальной функции {{jsxref("Global_Objects/eval", "eval()")}}. Примитивы, передаваемые в <code>eval()</code>, трактуются как исходный код; объекты же <code>String</code> трактуются так же, как и все остальные объекты, а именно: возвращается сам объект. Например:</p> -<pre class="brush: js notranslate">var s1 = '2 + 2'; // создаёт строковый примитив +<pre class="brush: js">var s1 = '2 + 2'; // создаёт строковый примитив var s2 = new String('2 + 2'); // создаёт объект String console.log(eval(s1)); // выведет число 4 console.log(eval(s2)); // выведет строку '2 + 2' @@ -155,7 +155,7 @@ console.log(eval(s2)); // выведет строку '2 + 2' <p>Объект <code>String</code> также всегда может быть преобразован в его примитивный аналог при помощи метода {{jsxref("String.prototype.valueOf()", "valueOf()")}}.</p> -<pre class="brush: js notranslate">console.log(eval(s2.valueOf())); // выведет число 4 +<pre class="brush: js">console.log(eval(s2.valueOf())); // выведет число 4 </pre> <div class="note"><strong>Примечание:</strong> для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о <a href="/ru/Add-ons/Code_snippets/StringView"><code>StringView</code> — C-подобном представлении строк на основе типизированных массивов</a>.</div> @@ -186,7 +186,7 @@ console.log(eval(s2)); // выведет строку '2 + 2' <p>Методы экземпляров <code>String</code> также доступны в Firefox как часть JavaScript 1.6 (который не является частью стандарта ECMAScript) на объекте <code>String</code>, что позволяет применять эти методы к любому объекту:</p> -<pre class="brush: js notranslate">var num = 15; +<pre class="brush: js">var num = 15; console.log(String.replace(num, /5/, '2')); </pre> @@ -194,7 +194,7 @@ console.log(String.replace(num, /5/, '2')); <p>Следующая прослойка позволяет использовать их во всех браузерах:</p> -<pre class="brush: js notranslate">/*globals define*/ +<pre class="brush: js">/*globals define*/ // Предполагаем, что все требуемые методы экземпляров String уже присутствуют // (для них так же можно использовать полифилы, если их нет) (function() { @@ -249,7 +249,7 @@ console.log(String.replace(num, /5/, '2')); <p>Объект <code>String</code> можно использовать как «безопасную» альтернативу методу {{jsxref("String.prototype.toString()", "toString()")}}, так как хотя он обычно и вызывает соответствующий метод <code>toString()</code>, он также работает и для значений {{jsxref("Global_Objects/null", "null")}} и {{jsxref("Global_Objects/undefined", "undefined")}}. Например:</p> -<pre class="brush: js notranslate">var outputStrings = []; +<pre class="brush: js">var outputStrings = []; for (var i = 0, n = inputValues.length; i < n; ++i) { outputStrings.push(String(inputValues[i])); } |