@Paramount1987

Как получить рабочее выражение?

Всем привет. Вопрос следующий, прислали код:

([1,2,3]).draw()

Отрисовывает график. Не понятно выражение скобок без имени (функция без имени?). Изменять данный код нельзя.
Как добиться чтоб он работал? В какую сторону копать?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
([1,2,3]).draw()
То же самое, что и:
[1,2,3].draw()

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

Чтобы оно что-то делало, то в прототип массива добавляем нужную функцию:
Array.prototype.draw = function(){ console.log(this) };

Но так не рекомендуется делать: более правильно сделать свой конструктор, у которого в прототипе находится массив.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы