Вызов метода apply с аргументами в JavaScript

Я хотел вызвать функцию, используя метод javascript apply (). Это нормально работает, если у функции нет аргументов. т.е.

function test()
{
  console.log(this);
}

body = document.getElementsByTagName("body")[0]; // shortcut to body element

test.apply(body); // returns [object HTMLBodyElement]

Но я не могу сделать то же самое для вызова функции с аргументами:

function test(msg)
{
  console.log(msg);
}

body = document.getElementsByTagName("body")[0]; // shortcut to body element

test(this).apply(body); // mysteriously returns the correct result, then
// typeError: 'undefined' is not an object (evaluating "test(this).apply".

Приведенные выше примеры совершенно тривиальны, но суть моего вопроса такова: как мне использовать метод apply () для вызвать функцию с аргументами.

16
задан dkugappi 6 October 2011 в 15:37
поделиться