Type: Core

Core містить загальні функції, що використовуються в MooTools.

Function: typeOf

Повертає тип об'єкта.

Синтаксис:

typeOf(obj);

Аргументи:

  1. obj - (object) Об'єкт для перевірки.

Повертає:

  • 'element' - (string) Якщо об'єкт є вузлом DOM-елемента.
  • 'elements' - (string) Якщо об'єкт є екземпляром Elements.
  • 'textnode' - (string) Якщо об'єкт є текстовим вузлом DOM.
  • 'whitespace' - (string) Якщо об'єкт є вузлом пробілу DOM.
  • 'arguments' - (string) Якщо об'єкт є об'єктом arguments.
  • 'array' - (string) Якщо об'єкт є масивом.
  • 'object' - (string) Якщо об'єкт є об'єктом.
  • 'string' - (string) Якщо об'єкт є рядком.
  • 'number' - (string) Якщо об'єкт є числом.
  • 'date' - (string) Якщо об'єкт є датою.
  • 'boolean' - (string) Якщо об'єкт є булевим значенням.
  • 'function' - (string) Якщо об'єкт є функцією.
  • 'regexp' - (string) Якщо об'єкт є регулярним виразом.
  • 'class' - (string) Якщо об'єкт є Class (створеним за допомогою new Class або розширенням іншого класу).
  • 'collection' - (string) Якщо об'єкт є нативною колекцією HTML-елементів, такою як childNodes або getElementsByTagName.
  • 'window' - (string) Якщо об'єкт є об'єктом window.
  • 'document' - (string) Якщо об'єкт є об'єктом document.
  • 'domevent' - (string) Якщо об'єкт є подією.
  • 'null' - (string) Якщо об'єкт є undefined, null, NaN або жодним з вищезазначених.

Приклад:

var myString = 'hello';
typeOf(myString); // returns "string"

Примітка:

Цей метод еквівалентний $type з MooTools 1.2, за винятком того, що undefined та null значення тепер повертають 'null' як рядок, замість false.

Function: instanceOf

Перевіряє, чи є об'єкт екземпляром окремого типу.

Синтаксис:

instanceOf(item, object)

Аргументи:

  1. item - (mixed) Елемент для перевірки.
  2. object - (mixed) Тип для порівняння.

Повертає:

  • (boolean) Чи є елемент екземпляром об'єкта.

Приклади:

var foo = [];
instanceOf(foo, Array) // returns true
instanceOf(foo, String) // returns false
 
var myClass = new Class();
var bar = new myClass();
instanceOf(bar, myClass) // returns true

Тип

MooTools розширює нативні типи, такі як string, array або number щоб зробити їх ще більш корисними.

Типи, які використовує MooTools:

  • String
  • Array
  • Number
  • Function
  • RegExp
  • Date
  • Boolean

Користувацькі типи MooTools:

  • Element
  • Elements
  • Event

Метод типу: implement

Цей метод реалізує новий метод для прототипу типу.

Синтаксис:

myType.implement(name, method);

або

myType.implement(methods);

Аргументи:

  1. name - (string) Назва методу.
  2. method - (function) Функція методу.

або

  1. methods - (object) Об'єкт з парами ключ-значення. Ключ — назва методу, значення — функція методу.

Повертає:

  • (object) Тип.

Приклади:

Array.implement('limitTop', function(top){
    for (var i = 0, l = this.length; i < l; i++){
        if (this[i] > top) this[i] = top;
    }
    return this;
});
 
[1, 2, 3, 4, 5, 6].limitTop(4); // returns [1, 2, 3, 4, 4, 4]

Також можливо передати об'єкт методів:

String.implement({
    repeat: function(times){
        var string = '';
        while (times--) string += this;
        return string;
    },
    ftw: function(){
        return this + ' FTW!';
    }
});
 
'moo! '.repeat(3); // returns "moo! moo! moo! "
'MooTools'.ftw(); // returns "MooTools FTW!"
('MooTools'.ftw() + ' ').repeat(2); // returns "MooTools FTW! MooTools FTW! "

Метод типу: extend

Додає одну або кілька функцій до типу. Це статичні функції які приймають, наприклад інші типи для їх парсингу у тип, або інші утилітарні функції що належать до окремого типу.

Синтаксис:

myType.extend(name, method);

або

myType.extend(methods);

Аргументи:

  1. name - (string) Назва методу.
  2. method - (function) Функція методу.

або

  1. methods - (object) Об'єкт з парами ключ-значення. Ключ — назва методу, значення — функція методу.

Повертає:

  • (object) Тип.

Приклади:

RegExp.extend('from', function(regexp, flags){
    return new RegExp(regexp, flags);
});
 
Number.extend('parseCurrency', function(currency){
    // takes a string and transforms it into a number to
    // do certain calculations
});

Generics

Більшість методів типів можна використовувати як узагальнені функції. Це вже існуючі JavaScript методи, методи, які додає MooTools, або методи, які ви реалізували самі.

Приклад:

var everyArgBiggerThanTwo = function(){
    // Instead of this
    return Array.prototype.every.call(arguments, someFunction);
    // you can use
    return Array.every(arguments, someFunction);
};

Це корисно, якщо методи певного типу слід використовувати як функцію іншого типу. Як у вищеприведеному прикладі, воно використовується для типу Arguments, який не є реальним масивом, тому arguments.every(fn) не спрацював би. Однак, Array.every(arguments, fn) працює у MooTools.

Синтаксис:

Type.methodName(thisArg[, arg1, arg2, ...]);

Аргументи:

  1. thisArg - (mixed) Це об'єкт, зазвичай thisArg.method([arg1, arg2, ...]);.
  2. arg1, arg2, ... - (mixed) Додаткові аргументи, які будуть передані як аргументи методу.

Повертає:

  • (mixed) Все, що зазвичай повертає метод.

Deprecated Функції

Function: $chk

Цей метод застарів і не матиме еквівалента у MooTools 1.3.

Якщо вам дійсно потрібно ця функція ви можете її реалізувати ось так:

Приклад:

var $chk = function(obj){
    return !!(obj || obj === 0);
};

Function: $clear

Цей метод застарів. Будь ласка, використовуйте clearInterval або clearTimeout замість.

Див. також:

Function: $defined

Цей метод застарів.

Якщо вам дійсно потрібно ця функція ви можете її реалізувати ось так:

Приклад:

var $defined = function(obj){
    return (obj != undefined);
};
 
// or just use it like this:
if(obj != undefined){
    // do something
}

Function: $arguments

Цей метод застарів і не матиме еквівалента у MooTools 1.3.

Якщо вам дійсно потрібно ця функція ви можете її реалізувати ось так:

Приклад:

var $arguments = function(i){
    return function(){
        return arguments[i];
    };
};

Function: $empty

Цей метод застарів. Використовуйте Function.from замість.

Приклад:

var myFunc = Function.from();
// or better:
var myFunc = function(){};

Function: $lambda

Цей метод застарів. Використовуйте Function.from замість.

Приклад:

myLink.addEvent('click', Function.from(false)); // prevents a link Element from being clickable

Function: $extend

Цей метод застарів. Будь ласка, використовуйте Object.append замість.

Function: $merge

Цей метод застарів. Будь ласка, використовуйте Object.merge замість.

Function: $each

Цей метод застарів. Будь ласка, використовуйте Array.each або Object.each замість.

Function: $pick

Цей метод застарів. Будь ласка, використовуйте Array.pick замість.

Function: $random

Цей метод застарів. Будь ласка, використовуйте Number.random замість.

Function: $splat

Цей метод застарів. Будь ласка, використовуйте Array.from замість. Однак $splat не перетворює об'єкти, подібні до Array, такі як NodeList або FileList, у масиви, Array.from робить це.

Function: $time

Цей метод застарів. Будь ласка, використовуйте Date.now() замість.

Синтаксис:

var time = Date.now();

Повертає:

  • (number) - Поточна мітка часу.

Function: $try

Цей метод застарів. Будь ласка, використовуйте Function.attempt замість.

Function: $type

Цей метод застарів. Будь ласка, використовуйте typeOf замість.

© Linux.ria.com, 2008-2026