Вопросы по javascript с ответами «на коленке»

Что выведется в консоль? Как добиться правильного вывода в консоль, не убирая setTimeout?

10, надо обернуть в лямбду

Что выведется в консоль?

Ибо вторая переменная хранит теперь ссылку на новый объект.

Что выведется в консоль?

Вот это забавно, что bind нельзя перезаписать. Так что 1.

Что такое call, apply, bind, зачем они нужны.

call и apply одно и то же, только apply принимает массив аргументов. bind возвращает функцию, в которой уже можно сделать карринг.

Напишите полифил функции bind.

Ну там надо вернуть новую функцию, при вызове которой call/apply оригинальной функции.
Подробнее:

С примерами:

https://plnkr.co/edit/eznzaa?p=preview
https://jsbin.com/pafuvu/edit?js,console

Дан массив целых чисел, найдите наибольшее из них.

Пробегаешься по всем и хранишь одно максимальное.
Но оптимальнее отсортировать оба массива и бежать одновременно.

Даны два массива целых чисел, найдите общие элементы.

Вложенный цикл решает. Может и не очень оптимально, но всё же.

Напишите функцию, принимающую на вход строку и проверяющую, является ли эта строка палиндромом. Приведите несколько вариантов решения.

Напишите функцию, принимающую массив произвольных слов и на выходе дающую двумерный массив анаграмм:

Есть два класса: принтер с методом print() и сканер с методом scan(). Нужно получить класс МФУ, имеющий оба этих метода.

Ну просто байндишь.

Напишите функцию, принимающую на вход время (в любом формате) и возвращающую угол между стрелками аналоговых часов.

Дано поле морского боя с размеченными на нём кораблями. Спроектируйте решение для подсчёта количества кораблей на этом поле.

Надо посчитать все начала кораблей (т.е. чтобы слева и сверху от него не было корабля).
Я думаю, можно сделать в два с половиной прохода. Сначала пройтись по горизонтали и вертикали, чтобы найти все точки. Потом посчитать все длиннее одной клетки. Потом найти пересечение всех одноклеточных.

Напишите функцию для сложения чисел, поддерживающую неограниченное количество вызовов:

Напишите функцию, которая принимает массив с неограниченной вложенностью и делает из него плоский массив:

Чем поведение скрипта с атрибутом defer отличается от async?

defer откладывает выполнение до того момента, когда DOM загрузится, а async просто не прерывает загрузку HTML для выполнения скрипта. Как-то так.

Есть массив с адресами картинок. Как загрузить все картинки и выполнить какую-либо операцию после окончания загрузки всех картинок?

Замутить им всем onload, дождаться всех, и молиться, что кэши не сработают, а то хз что может получиться (можно правда рандомный параметр добавлять, но это убьёт кэши).

Дан односвязный список. Напишите функцию, которая вернёт значение n-ого с конца списка элемента.

Хотя можно ограничиться и одним элементом.

Расскажите всё, что вы знаете о событиях в JS.

В соцсети выложили фото котят, под ним динамически добавляются комментарии. У каждого комментария есть кнопка «лайк», при нажатии на которую нужно отправлять запрос к АПИ. Как эффективно реализовать сценарий с нажатием кнопки?

Вешаешь обработчик на обкладку, и по таргету проверяешь, кто стрельнул.

Как расположить элемент по центру экрана с помощью CSS (назовите все известные вам варианты).

Опишите процесс отрисовки страницы браузером.

Тут народ подсказывает такую картинку, но она мне кажется слишком простой.
Однако для будущего засейвить можно.
webkit

Оригинал статьи с вопросами

2 Responses so far.

  1. Ваня:
    Есть два класса: принтер с методом print() и сканер с методом scan(). Нужно получить класс МФУ, имеющий оба этих метода.

    Ну просто байндишь.

    напишите пожалуйста решение с bind ;)))))

    • bullgare:
      Не очень понял смеха.
      Ты что-то хотел сказать или спросить? Давай.
      Ты хотел половить лулзов — дуй в пикабу или яплакал, или в одноклассники, в конце концов.
      И странно называться Ваней, если ты Ханин Д.О. :)

LEAVE A COMMENT