Core

Core содержит разумное количество функций, используемых в MooTools. В нем также содержатся некоторые базовые Hash и Array методы.

Функция: $chk

Проверяет существует ли переменная, равна ли 0. Функция полезная для проверки значений, допускающих 0.

Синтаксис:

$chk(item);

Аргументы:

  1. item - (mixed) Объект для проверки.

Возвращает:

  • (boolean) Если объект существует или равен 0, возвращает true. В противном случае, возвращает false.

Пример:

function myFunction(arg){
    if($chk(arg)) alert('Объект существует или равен 0.');
    else alert('Объект содержит либо null, либо  undefined, либо  false, либо ""');

}

Функция: $clear

Очищает Timeout или Interval. Полезен для работы с Функция:delay и Функция:periodical.

Синтаксис:

$clear(timer);

Аргументы:

  1. timer - (number) Идентификатор для setInterval (в случае periodical) или setTimeout (в случае delay) для очистки.

Возвращает:

  • (null) возвращает null.

Пример:

var myTimer = myFunction.delay(5000); //Ждет 5 секунд, а затем выполняет myFunction.

myTimer = $clear(myTimer); //Отменяет выполнение myFunction.

Смотрите также:

Функция: $defined

Проверяет определена ли переменная.

Синтаксис:

$defined(obj);

Аргументы:

  1. obj - (mixed) Объект для проверки.

Возвращает:

  • (boolean) Если проверяемый объект не null или undefined, возвращает true. В противном случае, возвращает false

Пример:

function myFunction(arg){
    if($defined(arg)) alert('Объект определен.');
    else alert('Объект равен null или неопределен.');

}

Примечание переводчика:

Если в коде будет использваться конструкция $defined(myObject) но при этом myObject до этого не определен, это вызовет ошибку JavaScript. В таком случае можно использовать функцию $type

Функция: $arguments

Создает функцию, которая возвращает один из переданых аргумеентов, в зависимости от указаного индекса (i).

Синтаксис:

var argument = $arguments(i);

Аргументы:

  1. i - (number) Индекс аргумента который будет возвращен.

Возвращает:

  • (function) Функция врзвращает определенный аргумент из списка аргументов.

Пример:

var secondArgument = $arguments(1);
alert(secondArgument('a','b','c')); //Alert покажет "b".

Функция: $empty

Это именно пустая функция. Обычно используется в качестве наполнителя внутри события методов классов.

Синтаксис:

var emptyFn = $empty;

Пример:

var myFunc = $empty;

Функция: $lambda

Создает пустую функцию, которая не делает ничего, кроме возрата принятого значения.

Синтаксис:

var returnTrue = $lambda(true);

Аргументы:

  1. value - (mixed) Значение, которое будет возвращено, вновь созданой функцией.

Возвращает:

  • (function) Функция, которая возвращает значение.

Пример:

myLink.addEvent('click', $lambda(false)); //Предотвращает срабатывание ссылки элемента при клике на нем.

Функция: $extend

Копирует все свойства со второго объекта в первый. (Прим. перев.: речь идет о объектах, которые были переданы в качестве аргуметов)

Синтаксис:

$extend(original, extended);

Аргументы:

  1. original - (object) Объект, который будет расширен.
  2. extension - (object) Объект, свойства которого будут скопированы в original.

Возвращает:

  • (object) Первый расширеный объект.

Примеры:

var firstObj = {
    'name': 'John',
    'lastName': 'Doe'

};
var secondObj = {
    'age': '20',
    'sex': 'male',
    'lastName': 'Dorian'

};
$extend(firstObj, secondObj);
//firstObj сейчас такой: {'name': 'John', 'lastName': 'Dorian', 'age': '20', 'sex': 'male'};

Функция: $merge

Слияния любого количества объектов рекурсивно без ссылок на них или их объекты.

Синтаксис:

var merged = $merge(obj1, obj2[, obj3[, ...]]);

Аргументы:

  1. (objects) Любое количество объектов.

Возвращает:

  • (object) Объект, который создается в результате объединения всех объектов, которые были переданы в качестве аргументов.

Примеры:

var obj1 = {a: 0, b: 1};
var obj2 = {c: 2, d: 3};

var obj3 = {a: 4, d: 5};
var merged = $merge(obj1, obj2, obj3); //Возвращает {a: 4, b: 1, c: 2, d: 5}, (obj1, obj2, и obj3 являются неизменным)
 
var nestedObj1 = {a: {b: 1, c: 1}};
var nestedObj2 = {a: {b: 2}};

var nested = $merge(nestedObj1, nestedObj2); //Возвращает: {a: {b: 2, c: 1}}

Функция: $each

Используется для организации цикла по объектам, которые не являются регулярными массивами. К таким объктам относится результат вызова метода getElementsByTagName, аргументы функций или непостерственно сам объект.

Синтаксис:

$each(iterable, fn[, bind]);

Аргументы:

  1. iterable - (object or array) Объект или массив для иттерации.
  2. fn - (function) Функция, которая будет применена для каждого элемента.
  3. bind - (object, опционально) Объект для использования в качестве 'this' в функции. Более детальную информацию смотрите Функция:bind.

Аргумент: fn

Синтаксис:
fn(item, index, object)
Аргументы:
  1. item - (mixed) Текущий элемент в массиве.
  2. index - (number) Текущий индекс масива. В случае с объектом, в него передается текущий ключ (свойство) а не индекс.
  3. object - (mixed) Фактический array/object.

Примеры:

Array Пример:

$each(['Sun','Mon','Tue'], function(day, index){
    alert('name:' + day + ', index: ' + index);
}); //Alerts "name: Sun, index: 0", "name: Mon, index: 1", и т.д.

Object Пример:

//Alerts "The first day of the week is Sunday", "The second day of the week is Monday", и т.д.:
$each({first: "Sunday", second: "Monday", third: "Tuesday"}, function(value, key){
    alert("The " + key + " day of the week is " + value);
});

Функция: $pick

Возвращает первый аргумент, из тех що переданы, котрый определен или null.

Синтаксис:

var picked = $pick(var1[, var2[, var3[, ...]]]);

Аргументы:

  • (mixed) Любое количество переменных.

Возвращает:

  • (mixed) Первая переменная, которая определена.
  • (null) Если все входящие аргументы null или undefined, возвращает null.

Пример:

function say(infoMessage, errorMessage){

    alert($pick(errorMessage, infoMessage, 'There was no message supplied.'));
}
say(); //Alerts "There was no message supplied."

say("This is an info message."); //Alerts "This is an info message."
say("This message will be ignored.", "This is the error message."); //Alerts "This is the error message."

Функция: $random

Возвращает случайное целое число между двумя входящими значениями.

Синтаксис:

var random = $random(min, max);

Аргументы:

  1. min - (number) Минимальное значение (включительно).
  2. max - (number) Максимальное значение (включительно).

Возвращает:

  • (number) Случайное число между min и max.

Пример:

alert($random(5, 20)); //Alerts случайное число между 5 и 20.

Функция: $splat

Преобразует входящий аргумент в массив, если он определен и преобразование не осуществляется эсли это уже масив.

Синтаксис:

var splatted = $splat(obj);

Аргументы:

  1. obj - (mixed) Любой тип переменной

Возвращает:

  • (array) Если переменная уже является масивом, возвращает массив. В противном случае, возвращает массив с единственным элементом который был передан в качестве аргумента.

Пример:

$splat('hello'); //Возвращает ['hello'].
$splat(['a', 'b', 'c']); //Возвращает ['a', 'b', 'c'].

Функция: $time

Возвращает текущее время в виде timestamp.

Синтаксис:

var time = $time();

Возвращает:

  • (number) - Текущий timestamp.

Функция: $try

Пытается выполнить ряд функций. Немедленно возвращает значение первой успешно выполненой функции без выполнения остальных функций, которые тоже могли бы выполниться успешно. Если все функции выполнены неуспешно возвращает null.

Синтаксис:

$try(fn[, fn, fn, fn, ...]);

Аргументы:

  • fn - (function) Функция для выполнения.

Возвращает:

  • (mixed) то что возвращает запущенная функция.
  • (null) null если все функции выполнены неуспешно.

Примеры:

var result = $try(function(){
    return some.made.up.object;

}, function(){
    return jibberish.that.doesnt.exists;

}, function(){
    return false;
});
 
//возвращает false

 
var failure, success;
 
$try(function(){
    some.made.up.object = 'something';
    success = true;

}, function(){
    failure = true;
});
 
if (success) alert('yey!');

Функция: $type

Возвращает тип объекта, поступившего на вход.

Синтаксис:

$type(obj);

Аргументы:

  1. obj - (object) Объект для проверки.

Возвращает:

  • 'element' - (string) Если объект является элементом DOM узла.
  • 'textnode' - (string) Если объект является элементом текстового DOM узла.
  • 'whitespace' - (string) Если объект является элементом DOM whitespace узла.
  • 'arguments' - (string) Если объект является обїектом аргументов.
  • 'array' - (string) Если объект является массивом.
  • 'object' - (string) Если объект является объектом.
  • 'string' - (string) Если объект является строкой.
  • 'number' - (string) Если объект является числом.
  • 'date' - (string) Если объект является датой.
  • 'boolean' - (string) Если объект является boolean-типа.
  • 'function' - (string) Если объект является функцией.
  • 'regexp' - (string) Если объект является регулярным выражением.
  • 'class' - (string) Если объект является классом(Class) (созданный с помощью нового класса, или расширен другим классом).
  • 'collection' - (string) Если объект является native htmlelements collection, таким как childNodes, getElementsByTagName, и т.д.
  • 'window' - (string) Если объект является объектом типа window.
  • 'document' - (string) Если объект является объектом типа document.
  • false - (boolean) Если объект неопределен undefined, null, NaN или ни один из вышеперечисленных.

Пример:

var myString = 'hello';
$type(myString); //Возвращает "string".


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