В чём опасность использования for .. in для объекта или массива?

For..in итерируется по всем полям объекта и его прототипов
(т.е. проходит по всей цепочке прототипов). Чтобы избежать таких проблем, можно воспользоваться методом Object.prototype.hasOwnProperty. В отличие от оператора in, этот метод не проверяет существование свойств в цепочке прототипов объекта.

Какие языковые конструкции в javascript создают scope?

Раньше только функции, теперь функции и блоки.

Что такое hoisting или «поднятие переменных»?

Интерпретатор JavaScript всегда перемещает («поднимает») объявления функций и переменных в начало области видимости (вверх текущего скрипта или функции)

Как добавлять элементы на HTML страницу динамически ?

Создание новых элементов осуществляется с помощью document.createElement(tagName);
После создания элемента его нужно присоединить к родительскому элементу с помощью .appendChild(node);

В чем разница между Object.getOwnPropertyNames() и Object.keys()?

Object.getOwnPropertyNames() возвращает перечислимые и не перечислимые свойства из объекта или массива.
Object.keys() возвращает перечислимые свойства из объекта или массива

С помощью какой конструкции языка можно управлять потоком выполнения скрипта и отслеживать ошибки?

Это возможно с помощью конструкции try{}… catch{}. Выполняется код внутри блока try. Если в нём возникнет ошибка, то выполнение try прерывается, и управление прыгает в начало блока catch.

Что такое глобальные переменные ? Как они создаются ? Какие проблемы связаны с использованием глобальных переменных?

Глобальная переменная — переменная, которая доступна (видима) во всем документе, в отличии от локальной (ограничена рамками блока программного кода, внутри которого она определена). Большинство JavaScript разработчиков избегает использования глобальных переменных. Одна из причин — возможный конфликт имен глобальных и локальных переменных. Так же код использующий глобальные переменные может быть тяжелее сопровождать и тестировать.

Что представляет собой механизм всплытия событий в JavaScript? Приведите пример.

После того, как событие сработает на элементе, оно также сработает на родителях, вверх по дереву DOM, если это событие нигде принудительно не прервут.

Является ли null объектом?

Значение null является литералом JavaScript, представляющим нулевое или «пустое» значение, то есть, когда нет никакого объектного значения. Это одно из примитивных значений JavaScript.

typeof [ ]

Object

Нарисуйте ответ

.secret {
  width: 0; 
  height: 0; 
  border-left: 150px solid transparent;
  border-right: 150px solid transparent; 
  border-top:150px solid blue;}
 <div class="secret"></div>

Треугольник направленный вниз

Пробелы или табы

Пробелы

Какие парадигмы поддерживает JavaScript

Объектно-ориентированный, императивный, функциональный

Основные архитектурные черты

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

Кому принадлежит название JavaScript?

Является зарегистрированным товарным знаком компании Oracle Corporation. Однако, стандартизация js потребовала уйти от проблем с торговыми марками, поэтому стандарт ECMA 262 называет язык ECMAScript

Названия JavaScript

Mocha -> LiveScript

Какие языки повлияли на JavaScript

Си и Java

Когда появилось название JavaScript

4 декабря 1995

Аналоги JavaScript

JScript, ActionScript

Основные движки

SpiderMonkey, Rhino, KJS, V8

Кто придумал js

Брэндан Эйх, Макр Андерсен, Билл Джой

Что значит ECMA?

Ассоциация, основанная в 1961г, деятельность которой посвящена стандартизации информационных и коммуникационных технологий. Изначально называлась European Computer Manufacturers Association. В 1994 г сменила название, и оно перестало быть аббревиатурой.

Каким стандартом описывается javascript

Стандартизированная версия имеет название ECMAScript, описывается стандартом ECMA-262.
Первой версии спецификации соответствовал JavaScript версии 1.1

На какие языки похож синтаксис JS

Напоминает C и Java, семантически ближе к Self, Smalltalk, Lisp.

Как расшифровывается AJAX

Asynchronous JavaScript And XML

Где впервые фигурировал JavaScript

JavaScript версии 1.0 был выпущен в марте 1996 года в браузерах Netscape Navigator 2.0 и Internet Explorer 2.0.

Какая последняя версия JavaScript

Версия, содержащаяся в браузере Firefox 4. Выпущен 27 июля 2010 года.
Включает множество новых возможностей, соответствующих 5-му изданию ECMA-262.
Это последняя версия JavaScript

Когда вышла 6я версия языка ECMAScript?

17 июня 2015 года состоялся выпуск шестой версии ECMAScript (ES2015)

Последняя версия черновика

ECMAScript 2018

Кто разрабатывает ECMAScript?

ТС39 (Technical Committee 39)

Как долго стандартизировался ES6?

Где то 6 лет после ES5 (December 2009 vs June 2015)

Сколько стадий проходят предложенные фичи в ECMAScript?

5 стадий, от stage-0 до stage-4