Что такое JavaScript

Java Script — это язык программирования, который используется в веб-разработке. он отвечает за динамическое содержимое веб-страницы. Предполагается, что JavaScript работает в веб-браузере, но его можно запускать и вне браузера, используя среду выполнения node js. Таким образом, это означает, что Java Script можно использовать как для фронтенда, так и для бэкенда.

Возможности Java Script

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

JavaScript — это однопоточный язык программирования. программы выполняются с использованием одного потока.

JavaScript работает асинхронно. Он продолжает выполнение программы, не дожидаясь операций ввода-вывода.

JavaScript — это интерпретируемый язык. программы не компилируются перед запуском, вместо этого интерпретатор преобразует программу в машинный код во время выполнения.

Переменные JavaScript

Переменные JavaScript можно определить с помощью нескольких ключевых слов. Каждое ключевое слово имеет свою область применения.

Окнопеременные, объявленные с помощью ключевого слова окна, имеют глобальную область действия. эти переменные могут получить доступ из любой точки веб-страницы. не рекомендуется объявлять переменные с глобальной областью видимости в JavaScript.

Varесли переменная объявлена ​​с использованием ключевого слова var вне функции, она имеет глобальную область действия. если он объявлен внутри функции, он имеет функциональную область. переменные с функциональными областями не видны за пределами функции.

(В строгом режиме Var позволяет повторно объявлять переменные)

Letпеременные, объявленные с использованием ключевого слова let, имеют область действия блока. эти переменные видны только внутри блока.

constконстантные переменные имеют область действия блока. вы не можете повторно объявить эти переменные и не можете изменить значение переменной с помощью повторного назначения.

JavaScript‘это’ключевое слово

Как ведет себя этоключевое слово в Java Script?

В методеэто относится к владельцу метода.

Ex: person = { firstName: "hello", lastName: "world", getFullname: function(){return this.firstName + this.lastName}};

указанный выше объект person имеет метод getFullname . Ключевое слово this внутри функции ссылается на его владельца, объект person.

этоключевое слово в одиночкуесли это ключевое слово используется отдельно, оно относится к глобальному объекту. В браузере глобальным объектом является [окно объекта].

Ex: var x  =this;

в этом случае this ссылается на [object window] .

также в строгом режиме это относится к глобальному объекту, когда он используется отдельно.

В функцииВ функции this ссылается на глобальный объект (по умолчанию).

Ex: function  myFunction(){
    return this;
}

выше функция возвращает окно объекта, глобальный объект.

В строгой функциистрогий режим не позволяет использовать привязку по умолчанию. Таким образом, в строгой функции this будет undefined.

Ex: "use strict";
function  myFunction(){
    return this;
}

В обработчиках событийэто относится к элементу html, который получает событие.

Ex: <button onClick="this.style.display = 'none'"></button>

выше, этоключевое слово относится к элементу кнопки.

Асинхронное поведение JavaScript

Как упоминалось ранее, JavaScript работает в одном потоке и ведет себя асинхронно.

Ex: function myFunction(){
    let value = 0;
    setTimeout(function(){
        value = 10;
         }, 2000);
    console.log(value);
}
myFunction();

каков будет вывод вышеуказанной функции?

он вернет 0 на консоль.

Зачем?

Из-за асинхронного поведения JavaScript. в приведенном выше примере он не ожидает функции setTimeout и продолжает выполнение.

Обратные вызовы JavaScript

В JavaScript вы можете передать функцию в качестве аргумента другой функции. Эти функции называются функциями обратного вызова.

EX: function myFunction(callBack){
        callBack();
}
function myCallback(){
    alert("I am the callback");
}
myFunction(myCallback);

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

Обратные вызовы JavaScript обычно используются с асинхронными функциями.

Ex: function myFunction(callBack){

    setTimeout(callBack(), 1000);
}

function displayMessage(){

    alert("I will display after one second!");

}

myFunction(displayMessage);

В приведенном выше примере displaymessage является функцией обратного вызова, и она используется с функцией setTimeout. Она указывает время ожидания для выполнения функции обратного вызова.

Обещания JavaScript

Обещание — это объект, который возвращает один результат с помощью асинхронных операций в JavaScript. Он представляет собой неудачу или успех операции. Обещание JavaScript содержит,

· обратные вызовы (успех и ошибка)

· Создание кода

· Потребительский код

Ex: function checkEvennumber(number) {
    let remainder = number % 2;
    return new Promise(function (resolve, reject) {
        if (remainder === 0) {
            resolve("OK");
        } else {
            reject("No");
        }
    });
}
checkEvennumber(20).then(
    function (message){alert(message);},
    function (error){alert(error);}
    );

Объект обещания выше имеет обратные вызовы resolve и reject. Обратный вызов resolve возвращает успешный результат кода-производителя, а обратный вызов reject возвращает результат сбоя кода-производителя.

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

После завершения асинхронных операций возвращается обещание.

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

асинхронные функции

асинхронные функции должны возвращать обещание.

асинхронная функцияmyFunction() {

return «Я обещание»;
}

myFunction ().then(
функция(значение) {предупреждение(значение);},
функция(ошибка) {предупреждение(ошибка);}
);

ждите

Ключевое слово await используется только внутри функции async.

Использование ключевого слова await будет ждать обещания. Визуально мы не можем видеть обещания здесь, но они выполняются внутри. Это делает работу программы практически синхронной. Но внутри они работают асинхронно.

function getValue(){
    return new Promise(function (resolve,error) {
        setTimeout(function () {
            let value = 10;
            resolve(value);
        }, 2000);
    });
}

function setValue(value){
    return value + 50;
}

function getNewValue(value){

    return value *100;
}

async function print(){
    let value = await getValue();
    value = await getNewValue(value);
    value = setValue(value);
    return value;
}


print().then((function (value){
    console.log(value);
}));

В приведенном выше примере использование ключевого слова await делает выполнение программы практически синхронным. асинхронная функция вернет результат после выполнения в заданном порядке.

Стрелочные функции

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

Ex: hello = function myfunction(){
    return "hello";
}

используя функцию стрелки:

привет = () =› {возврат "Привет"

Это делает синтаксис функции короче.

Также, если функция содержит один оператор и возвращает значение, скобки и ключевое слово return не требуются.

hello = () =› «Привет»;

Стрелочная функция с параметром

приветствие = (имя,модуль) =› «Привет» + имя +» добро пожаловать в « + модуль;

если функция содержит только один параметр, круглые скобки не требуются.

привет = имя => «Привет» + имя;

Теперь у вас есть базовое представление о JavaScript. Давайте обсудим JavaScript в следующих статьях.

Спасибо, что прочитали.