Что такое JavaScript
Давайте поговорим о одном из самых известных языков, JavaScript, один из трех основных компонентов (HTML, CSS & JS) веб-сайта. Wikipedia говорит (для понимания цели я буду поломки определения в нескольких частях)
JavaScript является прототипом на основе первых классов функций
Чтобы понять это, сначала поймите, что такое Прототипов наследования В форме прототипа наследования объекты наследуют непосредственно из других объектов. В JS каждый объект имеет секретную ссылку на свой родительский объект, при этом всякий раз, когда объект задан для любого свойства, он ищет это, если у него нет его родителей, будет предложено, то его родитель, процесс будет продолжена до тех пор, пока недвижимость Или это даст ошибку.
Например
function Circle(radius) {
this.radius = radius;
}
Circle.prototype.area = function () {
var radius = this.radius;
return Math.PI * radius * radius;
};
Circle.prototype.circumference = function () {
return 2 * Math.PI * this.radius;
};
var circle = new Circle(5);
var circle2 = new Circle(10);
circle.area() // 78.53981633974483
circle.diameter() // Uncaught TypeError: circle2.diameter is not a function
Здесь Радиус это Номер который также наследует свойства от Номер Вот почему это выводит "5" на circle.radius.tostring ()
По Первоклассные функции Это означало, что функция может быть сохранена в переменных, а затем может быть передано вокруг.
Это также поддерживает Функции высокого порядка , это означает, что функция может принимать другие функции в качестве ввода и возврата функции в качестве вывода.
Составляя его мультипараметрическим языком, поддерживающим объектно-ориентированные, императивные и функциональные стили программирования.
Multi-Paradigm Средства, вы можете запрограммировать с различными стилями кодирования, такими как OOP или функционал или смешивать обоих.
Он имеет API для работы с текстом, массивами, датами и регулярными выражениями, но не включает в себя какие-либо ввода/вывод, такие как сетевые, хранилище или графические средства, полагаясь за них при хост-среде, в которой она встроена.
JS имеет API для текста, массивов и т. Д., Это означает, что JS может подсчитать элементы в массиве или может выпустить что-то из этого, но он не может выполнить сам вызов API, да, вы прочитаете, браузер делает.
Как работает JavaScript
Давайте посмотрим, как все работают под капотом.
JavaScript – это отдельная резьба, это означает, что он может выполнить одно во время, проверьте указанную ниже рисунок, когда там какая-то работа, как console.log или A + B Он подталкивает его в стек, управляет его и выскочит его.
Если это функциональный вызов, то он ставит функцию в стеке, работает, высказывается, как показано ниже
// taking this code as example
var add = function(a,b){
return a + b;
}
var x = 2;
var y = 7;
var z = sum(x,y);
console.log(z);
Тогда как это не блокировка? Почему не такие как Сетримс или асинхронный звонок завершен первым блокировкой другого кода?
Всякий раз, когда есть что-то вроде функции асинхронного вызова или тайм-аут, она приходит, то он проходит в браузере, который может сделать это несколькими вещами вместе, после окончания браузера задач ставит очередь обратного вызова, цикл события продолжают смотреть в очередь в стопку и обратном вызове, когда Находит стек пустой, он ставят первым из очереди в стек.
Давайте посмотрим на рабочий пример, для простоты, которую мы используем, будет console.log и время Сетримс Только.
setTimeout(function(){
console.log("a");
},1500)
console.log("d");
setTimeout(function(){
console.log("b");
},500)
setTimeout(function(){
console.log("c");
},1000)
Это все на сегодня. Если у вас есть какие-либо сомнения или улучшение, комментарий здесь или сообщите мне!
Благодаря Филипсу Робертсу за Wonderfull Объяснение на работе JS