Свързване на контекст чрез метода apply в JavaScript

Нека сега разгледаме метода apply за свързване на контекст. Той работи почти по същия начин като метода call. Разликата се състои в това, че в apply параметрите се предават под формата на масив, а не се изброяват чрез запетая. В зависимост от задачата понякога е удобен единият, а понякога другият метод.

Ето пример за предаване на параметри в метода apply:

javascriptfunc.apply(elem, [param1, param2]);
Задание 1

Нека е даден следният код:

html<input id="elem" value="hello">
javascriptlet elem = document.querySelector('#elem');

function func(surname, name) {
  console.log(this.value + ', ' + surname + ' ' + name);
}

func(); // тук трябва да изведе 'hello, John Smit'

Добавете в последния ред метода apply така, че на екрана да се изведе 'hello, John Smit'. Думата 'hello' трябва да се вземе от value на input полето, а 'John' и 'Smit' трябва да са параметри на функцията.