Что такое 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