Vinculando contexto através do método apply em JavaScript

Vamos agora considerar o método apply para vincular contexto. Ele funciona praticamente da mesma forma que o método call. A diferença está no fato de que no apply os parâmetros são passados na forma de um array, e não listados separados por vírgula. Dependendo da tarefa, às vezes um método é mais conveniente, às vezes o outro.

Aqui está um exemplo de passagem de parâmetros para o método apply:

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

Suponha que temos o seguinte código:

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

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

func(); // deve exibir 'hello, John Smit'

Adicione o método apply na última linha para que seja exibido 'hello, John Smit'. A palavra 'hello' deve ser obtida a partir do value do input, e 'John' e 'Smit' devem ser os parâmetros da função.