Native: Function

Методи функцій.

Див. також:

Function Method: create

Базова функція для створення функціональних замикань, яка використовується всіма іншими прототипами Function.

Синтаксис:

var createdFunction = myFunction.create([options]);

Аргументи:

  1. [options] - (object, необов'язково) Параметри, з яких буде створена функція. Якщо options не надано, створюється копія функції.

Параметри:

  • bind - (object: за замовчуванням ця функція) Об'єкт, на який буде посилатися "this" функції.
  • event - (mixed: за замовчуванням false) Якщо встановлено true, функція буде діяти як слухач подій і отримувати подію як перший аргумент. Якщо встановлено ім'я класу, функція отримає новий екземпляр цього класу (з подією, переданою як аргумент конструктора) як перший аргумент.
  • arguments - (mixed: за замовчуванням стандартні аргументи) Один аргумент або масив аргументів, які будуть передані як аргументи функції. Якщо встановлені обидві опції event і arguments, подія передається як перший аргумент, а масив arguments слідує за нею.
  • delay - (number: за замовчуванням без затримки) Якщо встановлено, повернена функція затримає фактичне виконання на цю кількість мілісекунд і поверне дескриптор таймера при виклику.
  • periodical - (number: за замовчуванням без періодичного виконання) Якщо встановлено, повернена функція буде періодично виконувати фактичне виконання з цим інтервалом і поверне дескриптор таймера при виклику.
  • attempt - (boolean: false) Якщо встановлено true, повернена функція спробує виконатися і поверне або результати, або null при помилці.

Повертає:

  • (function) Функція, створена в результаті переданих параметрів.

Приклад:

var myFunction = function(){
    alert("I'm a function. :D");

};
 
var mySimpleFunction = myFunction.create(); //Just a simple copy.
 
var myAdvancedFunction = myFunction.create({ //When called, this function will attempt.

    Аргументы: [0,1,2,3],
    attempt: true,
    delay: 1000,
    bind: myElement
});

Function Method: pass

Повертає замикання з аргументами та bind.

Синтаксис:

var newFunction = myFunction.pass([args[, bind]]);

Аргументи:

  1. args - (mixed, необов'язково) Аргументи для передачі функції (має бути масивом, якщо передається більше одного аргументу).
  2. bind - (object, необов'язково) Об'єкт, на який буде посилатися "this" функції.

Повертає:

  • (function) Функція, чиї аргументи передаються при виклику.

Приклад:

var myFunction = function(){

    var result = 'Passed: ';
    for (var i = 0, l = arguments.length; i < l; i++){

        result += (arguments[i] + ' ');
    }
    return result;

}
var myHello = myFunction.pass('hello');
var myItems = myFunction.pass(['peach', 'apple', 'orange']);

 
//Later in the code, the functions can be executed:
alert(myHello()); //Passes "hello" to myFunction.
alert(myItems()); //Passes the array of items to myFunction.

Function Method: attempt

Спробує виконати функцію.

Синтаксис:

var result = myFunction.attempt([args[, bind]]);

Аргументи:

  1. args - (mixed, необов'язково) Аргументи для передачі функції (має бути масивом, якщо передається більше одного аргументу).
  2. bind - (object, необов'язково) Об'єкт, на який буде посилатися "this" функції.

Повертає:

  • (mixed) Значення, що повертає функція, або null, якщо викинуто виняток.

Приклад:

var myObject = {

    'cow': 'moo!'
};
 
var myFunction = function(){
    for (var i = 0; i < arguments.length; i++){

        if(!this[arguments[i]]) throw('doh!');
    }

};
var result = myFunction.attempt(['pig', 'cow'], myObject); //result = null

Function Method: bind

Змінює область видимості this у цільовій функції, щоб вона посилалася на параметр bind.

Синтаксис:

myFunction.bind([bind[, args[, evt]]]);

Аргументи:

  1. bind - (object, необов'язково) Об'єкт, на який буде посилатися "this" функції.
  2. args - (mixed, необов'язково) Аргументи для передачі функції (має бути масивом, якщо передається більше одного аргументу).

Повертає:

  • (function) Прив'язана функція.

Приклад:

function myFunction(){

    //Note that 'this' here refers to window, not an element.
    //The function must be bound to the element we want to manipulate.
    this.setStyle('color', 'red');
};

var myBoundFunction = myFunction.bind(myElement);
myBoundFunction(); //This will make myElement's text red.

Function Method: bindWithEvent

Змінює область видимості this у цільовій функції, щоб вона посилалася на параметр bind. Також створює "простір" для події. Це дозволяє використовувати функцію разом з Element:addEvent та аргументами.

Синтаксис:

myFunction.bindWithEvent([bind[, args[, evt]]]);

Аргументи:

  1. bind - (object, необов'язково) Об'єкт, на який буде посилатися "this" функції.
  2. args - (mixed, необов'язково) Аргументи для передачі функції (має бути масивом, якщо передається більше одного аргументу).

Повертає:

  • (function) Прив'язана функція.

Приклад:

function myFunction(e, add){

    //Note that 'this' here refers to window, not an element.
    //We'll need to bind this function to the element we want to alter.
    this.setStyle('top', e.client.x + add);

};
$(myElement).addEvent('click', myFunction.bindWithEvent(myElement, 100));

//When clicked, the element will move to the position of the mouse + 100.

Function Method: delay

Затримкує виконання функції на вказаний проміжок часу.

Синтаксис:

var timeoutID = myFunction.delay([delay[, bind[, args]]]);

Аргументи:

  1. delay - (number, необов'язково) Тривалість очікування (у мілісекундах).
  2. bind - (object, необов'язково) Об'єкт, на який буде посилатися "this" функції.
  3. args - (mixed, необов'язково) Аргументи, що передаються (має бути масивом, якщо аргументів більше одного).

Повертає:

  • (number) Ідентифікатор JavaScript timeout (для очищення затримок).

Приклад:

var myFunction = function(){ alert('moo! Element id is: ' + this.id); };

//Wait 50 milliseconds, then call myFunction and bind myElement to it.
myFunction.delay(50, myElement); //Alerts: 'moo! Element id is: ... '
 
//An anonymous function which waits a second and then alerts.
(function(){ alert('one second later...'); }).delay(1000);

Див. також:

Function Method: periodical

Виконує функцію через вказані інтервали часу. Періодичне виконання можна зупинити за допомогою функції $clear.

Синтаксис:

var intervalID = myFunction.periodical([period[, bind[, args]]]);

Аргументи:

  1. period - (number, необов'язково) Тривалість інтервалів між виконаннями.
  2. bind - (object, необов'язково) Об'єкт, на який буде посилатися "this" функції.
  3. args - (mixed, необов'язково) Аргументи, що передаються (має бути масивом, якщо аргументів більше одного).

Повертає:

  • (number) Ідентифікатор інтервалу (для очищення періодичного виконання).

Приклад:

var Site = { counter: 0 };

var addCount = function(){ this.counter++; };
addCount.periodical(1000, Site); //Will add the number of seconds at the Site.

Див. також:

Function Method: run

Запускає функцію з вказаними аргументами та прив'язкою. Те саме, що apply, але в зворотному порядку і з підтримкою одного аргументу.

Синтаксис:

var myFunctionResult = myFunction.run(args[, bind]);

Аргументи:

  1. args - (mixed) Аргумент або масив аргументів для запуску функції.
  2. bind - (object, необов'язково) Об'єкт, на який буде посилатися "this" функції.

Повертає:

  • (mixed) Значення, що повертає ця функція.

Приклади:

Простий запуск:

var myFn = function(a, b, c){

    return a + b + c;
}
var myArgs = [1,2,3];
myFn.run(myArgs); //Возвращает: 6

Запуск з прив'язкою:

var myFn = function(a, b, c) {
    return a + b + c + this;

}
var myArgs = [1,2,3];
myFn.run(myArgs, 6); //Возвращает: 12


Эта документация распостраняется на правах Attribution-NonCommercial-ShareAlike 3.0 License.
Оригинал документации на английском.
© Linux.ria.com, 2008-2026