JavaScript
Вопросы на собеседование
- Как переадресовать страницу в JS?
window.location.href = "i.ua"
- Сколько параметров можно передать функции?
Сколько угодно.
- Нужно алертом вывести какое-то сообщение,
спустя 3 секунды после запуска скрипта. Как это сделать?
setTimeout(alert("Hello", 3000));
- Наследование в JS
В JavaScript каждый объект может иметь ассоциацию с другим объектом -
так называемый "прототип" (prototype). В случае, если поиск некоторого
свойства (или метода) в исходном объекте заканчивается неудачно,
интерпретатор пытается найти одноименное свойство (метод) в его прототипе,
затем - в прототипе прототипа и т. д. К примеру, если мы затребовали
обращение к obj.prop (или, что абсолютно то же самое, obj['prop']),
JavaScript начнет искать свойство prop в самом объекте obj, затем – в
прототипе obj, прототипе прототипа obj, и так до конца.
- Пример наследования
cat.prototype = animal;
- Object
Object (они же - ассоциативные массивы, хэши). Представляет
собой обычный ассоциативный массив или, иначе говоря, "хэш". Он хранит любые
соответствия "ключ => значение" и имеет несколько стандартных методов,
которые являются просто функциями.
- Ключевое слова VAR
Если создавать переменную через обычное присваивание - будет создана "глобальная переменная".
Если создавать переменную с использованием слова var, тогда будет создана "локальная переменная",
которая перестаёт существовать после завершения работы функции.
- Как создать массив?
var array = [1,2,3];
- Какие есть циклы?
For, while, do while.
- Что cделает код: break mark; ?
Выйдет из текущего блока цикла или switch на метку "
- Какая разница между операторами == и ===?
Оператор == сравнивает на равенство, а вот === сравнивает на идентичность.
Плюс оператора === состоит в том, что он не приводит два значения к одному типу.
Именно из-за этого он обычно и используется.
- Что такое prototype?
В общих чертах prototype - это свойство позволяющее добавлять уже существующим объектам свойства,
также используется для эмуляции наследования классов.
- Eсть ли разница между window и document?
Да. У JavaScript есть глобальный объект и всё происходит через него. window - тот самый объект,
который хранит глобальные переменные, функции, местоположение, историю. Всё находится
внутри него, setTimeout, XMLHttpRequest, console и localStorage также являются частью window.
Аналогично дело обстоит и с document, который является свойством объекта window и представляет DOM.
Все ноды - это часть document, следовательно, вы можете использовать getElementById или
addEventListener для document. Но обратите внимание, что этих методов нет в объекте window.
- CSS Приоритеты (Specificity):
!important
Инлайновые стили - прописаные в атрибуте html ("div style="color:"")
IDs
Classes, attributes and pseudo-classes.
Tags