ПРИМЕР Js27a, Js27b, Js27c
Этот класс позволяет пользоваться функцией как объектом. Конструктор объекта Function имеет вид:
var myFunc = new Function("аргумент1", "аргумент2", …." тело функции")
В этом случае имя объекта рассматривается как переменная, представляющая текущее значение функции,а при стандартном объявлении - как переменная, представляющая имя функции.
Объекты типа Function можно вызывать таким же способом как и функции, объявленные обычным способом:
myFunc("a","b").
Примеры:
Объект Function можно использовать как обработчик событий:
window.onload=new Function("document.bgColor = 'red' ");
При загрузке страницы цвет фона станет красным.
Рассмотрим два разных способа задания функции:
function sample(a, b)
{ return (a+b)/2; }
sample = new Function("a", "b", "return (a+b)/2"));
Эти две функции выполняют одну и ту же операцию, и их вызов одинаков:
z = sample(3, 5)
Свойства объекта Function
length - количество параметров, указанных в определении функции.
caller - содержит ссылку на функцию, из которой была вызвана данная функция. Если функция не вызывалась из другой функции, то значение этого свойства равно null.