JavaScript
JavaScript (JS) — это динамический язык программирования, который может работать как на стороне клиента, так и на стороне сервера. В основном JavaScript используется при разработке веб-приложений в качестве языка сценариев, который делает веб-страницы интерактивными. Это объектно-ориентированный язык программирования. JavaScript — это однопоточный язык.
Синтаксис JavaScript основан на языках c и java. Некоторые структуры из этих языков поддерживаются JavaScript. Он поддерживает объектно-ориентированное программирование и функциональное программирование. Давайте кратко проанализируем строительные блоки JavaScript.
Использование JavaScript
- Добавление интерактивного поведения на веб-страницы
- разработка веб и мобильных приложений
- разработка веб-сервера
- Разработка игр
Типы данных, поддерживаемые в JavaScript
- Число
- Нить
- логический
- Неопределенный
- Нулевой
- Объект
- Символ
Переменные — это идентификаторы, которые могут содержать значения данных любого типа. Поскольку JS — язык с динамической типизацией, типы данных переменных определяются во время выполнения. Ключевые слова «var», «let», «const» используются для определения переменных. Поскольку JS чувствителен к регистру, name и Name — это две разные переменные.
var name = "myName" let name1 = "myName" const name2 = "myName"
Классы
Поскольку многие другие языки программирования поддерживают объектно-ориентированное программирование (ООП), JavaScript также поддерживает ООП. Основные концепции ООП (объекты, классы, инкапсуляция, полиморфизм) могут быть реализованы в JavaScript. Класс — это план сущности, которая существует независимо. Классы могут иметь свои свойства и функции-члены. Каждый класс может создавать один или несколько объектов со своими свойствами, но функции-члены являются общими для всех объектов. Классы могут быть созданы тремя основными способами в JS.
- Использование функции
- Использование литерала объекта
- Использование ключевого слова класса
1. Использование функции
Создание объекта выполняется с помощью нового ключевого слова перед определенной функцией. Свойства и функции-члены назначаются в основном двумя способами.
- Используя это ключевое слово
function Apple (type) { this.type = type; this.color = "red"; this.getInfo = getAppleInfo; } function getAppleInfo() { return this.color + ' ' + this.type + ' apple'; }
- Методы, добавленные в прототип
function Apple (type) { this.type = type; this.color = "red"; } Apple.prototype.getInfo = function() { return this.color + ' ' + this.type + ' apple'; };
* прототип — это объект, который автоматически назначается каждому объекту, которому могут быть назначены новые методы или свойства.
2. Использование литералов объектов
Создание объекта выполняется с использованием нотации Object.create(apple). Свойства и функции-члены назначаются как пары ключ-значение.
var apple = { type: "macintosh", color: "red", getInfo: function () { return this.color + ' ' + this.type + ' apple'; } }
3. Использование ключевого слова класса
Класс ключевого слова используется для создания класса. Конструктор используется для инициализации свойств. Свойства и функции-члены добавляются в тело класса.
class Car { constructor (name, year) { this.name = name; this.year = year; } } let myCar1 = new Car("Ford", 2014);
Конструктор
Конструктор — это функция особого типа с именем Constructor(), которую могут иметь все классы. Который вызывается сразу при создании объекта класса. Он обычно используется для инициализации значений свойств. Каждый класс может иметь только один конструктор в JS. Конструктор родительского класса можно вызвать с помощью ключевого слова super().
Это ключевое слово
Это ключевое слово ведет себя иначе в JS. Он имеет различное поведение между строгим режимом и нестрогим режимом. Обычно значение this определяется тем, как вызывается функция. Его нельзя установить путем присваивания во время выполнения, и он может быть другим при каждом вызове функции.
Статический метод и свойство
Статические методы и свойства — это особый вид членов класса, не являющийся специфичным для каких-либо объектов и являющийся общим для всех объектов. Доступ к статическим методам и свойствам можно получить без создания объекта. Доступ к ним можно получить через имя класса.
class Car { constructor(name) { this.name = name; } static hello() { return "Hello!!"; } } Console.log(Car.hello);
Строгая запись
В JavaScript использовать строгий режим означает, что код должен выполняться в строгом режиме. Это упрощает написание хорошего и безопасного JS-кода. Переменная не объявлена ниже, но ошибка не будет выдана.
myVariable = 9;
код, написанный ниже, выдаст ошибку, потому что переменная не объявлена, а код выполняется в строгом режиме. Следовательно, он выдаст ошибку.
'use strict'; myVariable = 9; // Error
Закрытие
Переменные JS могут быть глобальными или локальными. Замыкание помогает превратить глобальные переменные в локальные переменные. Такая функция возвращает другую функцию. Инкапсуляция может быть достигнута за счет закрытия. Замыкание инкапсулирует переменные в функцию и ограничивает доступ к ней извне.
// Define the closure function multF() { var mult = 9; return function(val) { mult = mult * val; return mult; } } var val = multF(); console.log(val(18));
Обратный звонок
Обратный вызов JavaScript — это функция, которая передается другой функции и выполняется этой функцией. Обратные вызовы гарантируют, что функция, переданная как обратный вызов, не запустится до завершения другой задачи. Это помогает разрабатывать асинхронные коды JavaScript и избегать ошибок.
function Displayer(sometext) { console.log(sometext) } function Calculator(num1, num2, Callback) { let sum = num1 + num2; Callback(sum); } Calculator(54, 53, Displayer);
В приведенном выше примере функция отображения передается как функция обратного вызова. И функция обратного вызова вызывается функцией калькулятора после завершения своей задачи. Не используйте круглые скобки при передаче функции в качестве аргумента.
Обещания
Обещание — это асинхронная задача, которая используется в задаче, которой требуется время для завершения ее выполнения и возврата. При использовании обещания в коде он вернет объект обещания вместо немедленного возврата значения. Объект Promise поддерживает два свойства: state и result.
let My_Promise = new Promise(function(Resolve, Reject) { Resolve(); Reject(); }); My_Promise.then(val=>{ //success code } ).catch((er)=>{ //failure code };
Заключение
Я подробно рассмотрел основы JavaScript здесь. Я начал с краткого введения в Основы Js, которые включают в себя конструктор, объект и классы, вызов и обещание.
Большое спасибо, что нашли время, чтобы прочитать мой блог. Надеюсь, это поможет вам лучше понять JavaScript.
если у вас есть какие-либо вопросы или рекомендации. Пожалуйста, прокомментируйте.