From 980fe00a74a9ad013b945755415ace2e5429c3c2 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 27 Oct 2021 02:31:24 +0300 Subject: [RU] Remove notranslate (#2874) --- .../first_steps/a_first_splash/index.html | 50 +++++++++++----------- .../first_steps/silly_story_generator/index.html | 2 +- .../javascript/first_steps/strings/index.html | 34 +++++++-------- .../first_steps/useful_string_methods/index.html | 44 +++++++++---------- .../javascript/first_steps/variables/index.html | 48 ++++++++++----------- 5 files changed, 89 insertions(+), 89 deletions(-) (limited to 'files/ru/learn/javascript/first_steps') diff --git a/files/ru/learn/javascript/first_steps/a_first_splash/index.html b/files/ru/learn/javascript/first_steps/a_first_splash/index.html index 6da71e0814..e6a210e0d5 100644 --- a/files/ru/learn/javascript/first_steps/a_first_splash/index.html +++ b/files/ru/learn/javascript/first_steps/a_first_splash/index.html @@ -49,7 +49,7 @@ original_slug: Learn/JavaScript/Первые_шаги/A_first_splash -
for (var i = 1 ; i < 21 ; i++) { console.log(i) }
+
for (var i = 1 ; i < 21 ; i++) { console.log(i) }

Что случилось? Номера с 1 по 20 были напечатаны в консоли. Это из-за цикла. Цикл for принимает три входных значения (аргументы):
Начальное значение: в этом случае мы начинаем подсчёт c 1, но это может быть любое число которое вам нравится. Вы можете заменить i любым другим именем, которое вам нравится, но я использую его как условность, потому что оно короткое и легко запоминается. Условие выхода: Здесь мы указали i <21 - цикл будет продолжаться до тех пор, пока i будет меньше 21. Когда i достигнет 21, цикл больше не будет работать. Инкремент: мы указали i ++, что означает «увеличить i на 1». Цикл будет выполняться один раз для каждого значения i, пока оно не достигнет значения 21 (как обсуждалось выше). В этом случае мы просто печатаем значение i в консоли на каждой итерации с помощью {{domxref ("Console.log", "console.log ()")}}.

Теперь давайте посмотрим на цикл в нашей игре угадывания чисел - в функции resetGame () можно найти следующее:

-
var resetParas = document.querySelectorAll('.resultParas p');
+
var resetParas = document.querySelectorAll('.resultParas p');
 for (var i = 0 ; i < resetParas.length ; i++) {
   resetParas[i].textContent = '';
 }
@@ -625,7 +625,7 @@ for (var i = 0 ; i < resetParas.length ; i++) {

Давайте добавим ещё одно окончательное улучшение, прежде чем перейти к обсуждению. Добавьте следующую строку чуть ниже var resetButton; в верхней части вашего JavaScript, затем сохраните файл:

-
guessField.focus();
+
guessField.focus();

Эта строка использует метод {{domxref("HTMLElement.focus", "focus()")}}, чтобы автоматически помещать текстовый курсор в текстовое поле {{htmlelement("input")}}, как только загрузится страница. Пользователь сможет сразу набрать свою первую догадку, не нажимая поле формы. Это всего лишь небольшое дополнение, но оно улучшает удобство использования - даёт пользователю хорошую визуальную подсказку относительно того, что они должны делать в игре.

@@ -633,13 +633,13 @@ for (var i = 0 ; i < resetParas.length ; i++) {

В нашем примере мы сначала создали переменную guessField, которая запоминает значение из поля ввода в нашем HTML - следующая строка находится среди первых в нашем коде:

-
var guessField = document.querySelector('.guessField');
+
var guessField = document.querySelector('.guessField');

Чтобы получить это значение, мы использовали метод {{domxref("document.querySelector", "querySelector()")}} объекта {{domxref("document")}}. querySelector() "берет" одну часть информации -  CSS selector, который выбирает нужный элемент.

Поскольку guessField теперь содержит ссылку на элемент {{htmlelement("input")}}, теперь он будет иметь доступ к ряду свойств (в основном к переменным, хранящимся внутри объектов, некоторые значения которых нельзя изменять) и методы (в основном функции, хранящиеся внутри объектов). Одним из методов, доступных для ввода элементов, является focus (), поэтому мы можем теперь использовать эту строку для фокусировки ввода текста:

-
guessField.focus();
+
guessField.focus();

Для переменных, которые не содержат ссылок на элементы формы, не будет доступен focus(). Например, переменная guesses содержит ссылку на элемент {{htmlelement ("p")}}, а guessCount содержит число.

@@ -652,17 +652,17 @@ for (var i = 0 ; i < resetParas.length ; i++) {
  • Далее, откройте инструменты разработчика в вашем браузере, и убедитесь, что вы перешли во вкладку с консолью JavaScript.
  • Введите guessField и консоль покажет, что переменная содержит элемент {{htmlelement("input")}}. Вы также можете заметить, что консоль автоматически заполняет имена объектов, которые существуют внутри исполняющей среды, включая ваши переменные!
  • Теперь введите следующее: -
    guessField.value = 'Hello';
    +
    guessField.value = 'Hello';
    Свойство value представляет текущее значение, введённое в текстовое поле. Заметьте, что, введя эту команду, мы изменили его!
  • Попробуйте ввести guesses и нажать return. Консоль покажет, что в переменной содержится элемент {{htmlelement("p")}}.
  • Теперь попробуйте ввести: -
    guesses.value
    +
    guesses.value
    Браузер вернёт вам undefined, потому что value не существует в параграфах.
  • Для изменения текста внутри параграфа, взамен используйте свойство {{domxref("Node.textContent", "textContent")}}. Попробуйте: -
    guesses.textContent = 'Where is my paragraph?';
    +
    guesses.textContent = 'Where is my paragraph?';
  • Теперь немного повеселимся. Попробуйте ввести следующие строки, одну за другой: -
    guesses.style.backgroundColor = 'yellow';
    +  
    guesses.style.backgroundColor = 'yellow';
     guesses.style.fontSize = '200%';
     guesses.style.padding = '10px';
     guesses.style.boxShadow = '3px 3px 6px black';
    diff --git a/files/ru/learn/javascript/first_steps/silly_story_generator/index.html b/files/ru/learn/javascript/first_steps/silly_story_generator/index.html index 042b6e844d..2cfbea95b2 100644 --- a/files/ru/learn/javascript/first_steps/silly_story_generator/index.html +++ b/files/ru/learn/javascript/first_steps/silly_story_generator/index.html @@ -125,7 +125,7 @@ original_slug: Learn/JavaScript/Первые_шаги/Создатель_глу
    • Вам не нужно каким-либо образом редактировать HTML, кроме как применять JavaScript к вашему HTML.
    • Если вы не уверены, правильно ли применяется JavaScript для вашего HTML-кода, попробуйте временно удалить все остальное из файла JavaScript, добавив в него простой кусочек JavaScript, который, как вы знаете, создаст очевидный эффект, а затем сохраните и обновите. Следующий, например, делает фон элемента {{htmlelement ("html")}} красного цвета - поэтому все окно браузера должно быть красным, если JavaScript применяется правильно: -
      document.querySelector('html').style.backgroundColor = 'red';
      +
      document.querySelector('html').style.backgroundColor = 'red';
    • Math.round() - это встроенный метод JavaScript, который просто округляет результат вычисления до ближайшего целого числа.
    diff --git a/files/ru/learn/javascript/first_steps/strings/index.html b/files/ru/learn/javascript/first_steps/strings/index.html index 9acead263a..b63ccbcc82 100644 --- a/files/ru/learn/javascript/first_steps/strings/index.html +++ b/files/ru/learn/javascript/first_steps/strings/index.html @@ -37,17 +37,17 @@ original_slug: Learn/JavaScript/Первые_шаги/Строки
    1. Для начала введите следующие строки: -
      var string = 'The revolution will not be televised.';
      +  
      var string = 'The revolution will not be televised.';
       string;
    2. Как и в случае с числами, мы объявляем переменную, инициализируя её строковым значением, а затем возвращаем значение. Единственное различие здесь в том, что при написании строки вам нужно окружить значение кавычками. 
    3. Если вы не сделаете этого или пропустите одну из кавычек, вы получите сообщение об ошибке. Попробуйте ввести следующие строки: -
      var badString = This is a test;
      +  
      var badString = This is a test;
       var badString = 'This is a test;
       var badString = This is a test';
      Эти строки не работают, потому что любая текстовая строка без кавычек считается именем переменной, именем свойства, зарезервированным словом или чем-то подобным. Если браузер не может найти его, возникает ошибка (например, «missing, before statement»). Если браузер может видеть, где начинается строка, но не может найти конец строки, как указано во 2-й строке, она жалуется на ошибку (с «unterminated string literal»). Если ваша программа выявляет такие ошибки, вернитесь назад и проверьте все свои строки, чтобы убедиться, что у вас нет пропущенных кавычек.
    4. Следующий код будет выполнен только в том случае, если ранее была объявлена переменная string — убедитесь сами: -
      var badString = string;
      +  
      var badString = string;
       badString;
      В настоящее время строка badString имеет то же значение, что и строка string.
    @@ -56,22 +56,22 @@ badString;
    1. В JavaScript вы можете выбрать одинарные кавычки или двойные кавычки, чтобы обернуть ваши строки. Оба варианта будут работать нормально: -
      var sgl = 'Single quotes.';
      +  
      var sgl = 'Single quotes.';
       var dbl = "Double quotes";
       sgl;
       dbl;
    2. Существует очень мало различий между одиночными и двойными кавычками, и решение какие из них использовать в коде остаётся на ваше усмотрение. Однако вы должны выбрать один вариант и придерживаться его, иначе ваш код может выдать ошибку, особенно если вы используете разные кавычки в одной строке! Ниже приведён пример: -
      var badQuotes = 'What on earth?";
      +
      var badQuotes = 'What on earth?";
    3. Браузер будет считать, что строка не была закрыта, потому что в строке может появиться другой тип цитаты, который вы не используете, чтобы хранить ваши строки в переменных. Из примера можно понять, о чем идёт речь (в коде ошибок нет): -
      var sglDbl = 'Would you eat a "fish supper"?';
      +  
      var sglDbl = 'Would you eat a "fish supper"?';
       var dblSgl = "I'm feeling blue.";
       sglDbl;
       dblSgl;
    4. Однако вы не можете включить один и тот же знак кавычки внутри строки, если он используется для их хранения. Ниже приведена ошибка, браузер ошибочно определяет место, где строка кончается: -
      var bigmouth = 'I've got no right to take my place...';
      +
      var bigmouth = 'I've got no right to take my place...';
      Что приводит нас к следующей теме.
    @@ -79,7 +79,7 @@ dblSgl;
  • Чтобы исправить нашу предыдущую строку кода, нам нужно дать понять браузеру, что кавычка в середине строки не является меткой её конца. Экранирование символов означает, что мы делаем что-то с ними, чтобы убедиться, что они распознаются как текст, а не часть кода. В JavaScript мы делаем это, помещая обратную косую черту непосредственно перед символом. Введите эти строки:

    -
    var bigmouth = 'I\'ve got no right to take my place...';
    +
    var bigmouth = 'I\'ve got no right to take my place...';
     bigmouth;

    Так лучше. Таким же образом можно экранировать и другие символы, например "\. Кроме того существуют специальные коды. Для дополнительной информации см. Escape notation.

    @@ -89,17 +89,17 @@ bigmouth;
    1. Конкатенация — это новомодное программистское слово, которое означает «объединить». Объединение строк в JavaScript использует оператор плюс (+), тот же, который мы используем для сложения чисел, но в этом контексте он делает кое-что другое. Попробуем пример в нашей консоли.
    2. -
      var one = 'Hello, ';
      +  
      var one = 'Hello, ';
       var two = 'how are you?';
       var joined = one + two;
       joined;
      Результат этой программы - это переменная joined, содержащая значение "Hello, how are you?".
    3. В последнем случае мы просто объединим две строки вместе, но на самом деле, вы можете объединить столько строк, сколько хотите, до тех пор, пока вы ставите + между ними. Попробуйте это: -
      var multiple = one + one + one + one + two;
      +  
      var multiple = one + one + one + one + two;
       multiple;
    4. Вы также можете использовать сочетание переменных и фактических строк. Попробуйте это: -
      var response = one + 'I am fine — ' + two;
      +  
      var response = one + 'I am fine — ' + two;
       response;
    @@ -112,9 +112,9 @@ response;

    Давайте посмотрим на конкатенацию строк в действии — вот пример из предыдущего курса:

    -
    <button>Press me</button>
    +
    <button>Press me</button>
    -
    var button = document.querySelector('button');
    +
    var button = document.querySelector('button');
     
     button.onclick = function() {
       var name = prompt('What is your name?');
    @@ -129,22 +129,22 @@ button.onclick = function() {
     
     
    1. Итак, что происходит, когда мы пытаемся добавить (или конкатенировать) строку и число? Попробуем это в нашей консоли: -
      'Front ' + 242;
      +  
      'Front ' + 242;
       
      Вы можете ожидать, что это вызовет ошибку, но все работает отлично. Попытка представить строку как число на самом деле не имеет смысла, но число как строку — имеет, поэтому браузер довольно умно преобразует число в строку и объединяет две строки вместе.
    2. Вы даже можете сделать это с двумя числами, вы можете заставить число стать строкой, обернув её в кавычки. Попробуйте следующее (мы используем оператор typeof для того, чтобы установить является ли переменная числом или строкой): -
      var myDate = '19' + '67';
      +  
      var myDate = '19' + '67';
       typeof myDate;
    3. Если у вас есть числовая переменная, которую вы хотите преобразовать в строчную без внесения каких-либо иных изменений или строковую переменную, которую вы хотите преобразовать в число, вы можете использовать следующие две конструкции:
      • Объект {{jsxref ("Number")}} преобразует всё переданное в него в число, если это возможно. Попробуйте следующее: -
        var myString = '123';
        +    
        var myString = '123';
         var myNum = Number(myString);
         typeof myNum;
      • С другой стороны, каждое число имеет метод, называемый toString(), который преобразует его в эквивалентную строку. Попробуй это: -
        var myNum = 123;
        +    
        var myNum = 123;
         var myString = myNum.toString();
         typeof myString;
      • diff --git a/files/ru/learn/javascript/first_steps/useful_string_methods/index.html b/files/ru/learn/javascript/first_steps/useful_string_methods/index.html index 722895282b..90450169e7 100644 --- a/files/ru/learn/javascript/first_steps/useful_string_methods/index.html +++ b/files/ru/learn/javascript/first_steps/useful_string_methods/index.html @@ -39,7 +39,7 @@ original_slug: Learn/JavaScript/Первые_шаги/Useful_string_methods

        Почти всё в JavaScript является объектами. Когда вы создаёте строку, например: 

        -
        let string = 'This is my string';
        +
        let string = 'This is my string';

        ваша переменная становится строковым объектом, и, как результат, ей доступно множество свойств и методов. Можете убедиться в этом, перейдя на страницу {{jsxref ("String")}} и просмотрев на ней список свойств и методов!

        @@ -51,7 +51,7 @@ original_slug: Learn/JavaScript/Первые_шаги/Useful_string_methods

        Это легко — вы просто используете свойство {{jsxref ("String.prototype.length", "length")}}. Попробуйте ввести следующие строки:

        -
        let browserType = 'mozilla';
        +
        let browserType = 'mozilla';
         browserType.length;

        Результатом должно быть число 7, потому что слово «mozilla» состоит из 7 символов. Это свойство можно применить, например, если вы захотите найти длины серии имён, чтобы их можно было отображать по порядку длины или сообщить пользователю, что имя пользователя, которое он ввёл в поле формы, слишком длинное, если оно превышает определённую длину.

        @@ -60,11 +60,11 @@ browserType.length;

        Вы можете вернуть любой символ внутри строки, используя обозначение в квадратных скобках. Это означает, что вы добавляете квадратные скобки ([ ]) в конце вашего имени переменной. В квадратных скобках вы указываете номер символа, который хотите вернуть. Например, чтобы получить первую букву, нужно написать:

        -
        browserType[0];
        +
        browserType[0];

        Компьютеры считают от 0, а не 1! Чтобы получить последний символ любой строки, мы могли бы использовать следующую строку, объединив эту технику с свойством length:

        -
         browserType[browserType.length-1];
        +
         browserType[browserType.length-1];

        Длина слова «mozilla» равна 7, но, поскольку счёт начинается с 0, позиция последнего символа равна 6, поэтому нам нужна length-1. Такой способ можно использовать, чтобы найти первую букву ряда строк и упорядочить их по алфавиту.

        @@ -72,17 +72,17 @@ browserType.length;
    1. Иногда вам может понадобиться выяснить, присутствует ли меньшая строка внутри большей (обычно мы говорим, что внутри строки есть подстрока). Это можно сделать с помощью метода {{jsxref ("String.prototype.indexOf ()", "indexOf ()")}}, который принимает одну {{glossary ("parameter")}} - подстроку, которую вы хотите найти. Введите: -
      browserType.indexOf('zilla');
      +
      browserType.indexOf('zilla');
      Это даёт нам результат 2, потому что подстрока «zilla» начинается в позиции 2 ("m" — 0, "o" — 1, "z" — 2) внутри «mozilla». Такой код можно использовать для фильтрации строк. Например, если есть список веб-адресов и вы хотите распечатать только те, которые содержат «mozilla».
    1. Это можно сделать по-другому, что, возможно, ещё более эффективно. Введите следующее: -
      browserType.indexOf('vanilla');
      +
      browserType.indexOf('vanilla');
      Это должно дать вам результат -1. Такое значение возвращается, когда подстрока, в данном случае «vanilla», не найдена в основной строке.

      Вы можете использовать это, чтобы найти все экземпляры строк, которые не содержат подстроку «mozilla» (для обратного эффекта, используйте оператор отрицания): -
      if(browserType.indexOf('mozilla') === -1) {
      +  
      if(browserType.indexOf('mozilla') === -1) {
         // сделать что-то, если 'mozilla'
         // не является частью этой строки
       }
      @@ -93,10 +93,10 @@ if(browserType.indexOf('mozilla') !== -1) {
       }
    2. Когда вы знаете, где подстрока начинается внутри строки, и вы знаете, на каком символе вы хотите её завершить, можно использовать {{jsxref ("String.prototype.slice ()", "slice ()")}}  для извлечения. Попробуйте следующее: -
      browserType.slice(0,3);
      +
      browserType.slice(0,3);
      Это возвращает «moz». Первым параметром является позиция символа, с которого начинается извлечение, а второй параметр — позиция последнего символа, перед которым нужно отсечь строку. Таким образом, срез происходит с первой позиции, вплоть до последней позиции, но не включая её (помним, что счёт идёт с 0, а не с 1). Также можно сказать, что второй параметр равен длине возвращаемой строки.
    3. Кроме того, если вы знаете, что хотите извлечь все остальные символы в строке после определённого символа, вам не нужно включать второй параметр. Достаточно включить только положение символа, с которого вы хотите начать извлечение оставшихся символов в строке. Введите: -
      browserType.slice(2);
      +
      browserType.slice(2);
      Этот код возвращает «zilla» — это потому, что позиция символа 2 — это буква z, и поскольку вы не указали второй параметр, возвращаемая подстрока состояла из всех остальных символов в строке.
    @@ -110,7 +110,7 @@ if(browserType.indexOf('mozilla') !== -1) {

    Попробуем ввести следующие строки, чтобы узнать, что происходит:

    -
    var radData = 'My NaMe Is MuD';
    +
    var radData = 'My NaMe Is MuD';
     radData.toLowerCase();
     radData.toUpperCase();
    @@ -120,7 +120,7 @@ radData.toUpperCase();

    Он принимает два параметра — строку, которую вы хотите заменить, и строку, которую вы хотите вставить вместо заменяемой. Попробуйте этот пример:

    -
    browserType.replace('moz','van');
    +
    browserType.replace('moz','van');

    Обратите внимание, что для фактического получения обновлённого значения, отражённого в переменной browserType в реальной программе, вам нужно будет установить значение переменной в результате операции; он не просто обновляет значение подстроки автоматически. Таким образом, вы должны были бы написать это: browserType = browserType.replace('moz','van');

    @@ -143,7 +143,7 @@ radData.toUpperCase();