====== Function ======
Тип данных для хранения функций JavaScript. Экземпляры обычно создают с помощью инструкции ''function'' в одной из эквивалентных форм:
var myFunc1 = function(a, b, c) {
// ...
}
function myFunc2(a, b, c) {
// ...
}
print(typeof myFunc1); // выводит "function"
print(typeof myFunc2); // выводит "function"
class:: Function([arg1[, arg2[, ...argN]],] functionBody)
Класс для объектов-функций.
Конструктор класса можно использовать для создания функций из строк. В качестве первых параметров принимаются имена аргументов функции в виде строк; их может быть от 0 до бесконечности. Последним параметром передаётся тело функции в виде строки.
var sayHelloFunc = new Function("print('Hello world!');");
var sumFunc = new Function('a', 'b', 'return a + b;');
meth:: Function.apply(thisArg[, args])
Вызывает функцию со значением ''this'' равным ''thisArg'' и параметрами заданными в виде массива ''args''.
Параметр ''args'' опционален и может быть опущен, равен ''null'' или ''undefined'', если функция не принимает аргументов.
Возвращает значение, которое вернула функция.
То же, что и [[#call|Function.call]], но параметры передаются, одним массивом.
meth:: Function.bind(thisArg[, arg1[, arg2[, ...]]])
Возвращает новую функцию, которая при вызове получает значение ''this'' равное ''thisArg'' и первыми аргументами, равными ''arg1'', ''arg2'', … , ''argN''.
При вызове переданные новой функции параметры добавляются после заданных в ''bind''. Таким образом, если в ''bind'' был задан только ''thisArg'', функция сохранит свой изначальный перечень параметров.
meth:: Function.call(thisArg[, arg1[, arg2[, ...]]])
Вызывает функцию со значением ''this'' равным ''thisArg'' и параметрами ''arg1'', ''arg2'', … , ''argN''.
Возвращает значение, которое вернула функция.
То же, что и [[#apply|Function.apply]], но параметры передаются, как список аргументов.
meth:: Function.replaceWith(newFunc)
Подменяет текущую функцию той, что передана в ''newFunc'' с сохранением контекста (области видимости) текущей.
Реализована для правки вложенных функций через терминал.
Возвращает результирующую функцию.