Core

O Core contém uma monte de funções úteis que são utilizadas com muita frequência MooTools.
Ele também contém algumas funções básicas de Hash e Array.

Função: $chk

Verifica se um valor existe ou se o valor é 0. Muito útil para saber se existe algo.

Sintaxe:

$chk(item);

Parâmetros:

  1. item – (mixtura) O item a ser verificado.

Retorna:

  • (booleano) Se o objeto passado existe ou se é igual a 0 então retornará verdadeiro. Coso contrário, retorna falso.

Exemplo:

function myFunction(arg){
    if($chk(arg)) alert('O objeto existe ou é 0.');
    else alert('Ou o objeto é nulo, não definido, false, ou ""');
}

Função: $clear

Limpa/Para, um Timeout ou um Interval. Muito útil quando se está trabalhando com Função:delay e também com Função:periodical.

Sintaxe:

$clear(timer);

Parâmetros:

  1. timer – (número) O identificador de um setInterval (periodical) ou setTimeout (delay) para ser limpado/parado.

Retorna:

  • (nulo) retorna nulo.

Exemplo:

function minhaFuncao(){
		alert('Só fui executada depois de 5 segundos');
}
//Aguarda 5 segundos e depois executa minhaFuncao.
var meuTemporizador = minhaFuncao.delay(5000);
//Cancela minhaFuncao.
myTimer = $clear(meuTemporizador);

Veja também:

Função: $defined

Verifica se um valor está ou não definido.

Sintaxe:

$defined(obj);

Parâmetros:

  1. obj – (mixtura) O objeto a ser verificado.

Retorna:

  • (booleano) Se o objeto passado no parâmetro não for nulo ou undefined, retorna verdadeiro. Caso contrário, retorna falso.

Exemplo:

function minhaFuncao(arg){
    if($defined(arg)) alert('O objeto está definido.');
    else alert('O objeto é nulo ou undefined.');
}

//Aparecerá um alerta informando 'O objeto é nulo ou undefined.'
minhaFuncao();

//Aparecerá um alerta informando 'O objeto está definido.'
minhaFuncao('Testando')

Função: $arguments

Cria um função que retorna o parâmetro de acordo com o índice (i)que foi passado.

Sintaxe:

var argument = $arguments(i);

Arguments

  1. i – (número) O índice do parâmetro a ser retornado.

Retorna

  • (função) A função que retorna um parâmetro específico dos parâmetros da função.

Exemplo:

var segundoParametro = $arguments(1);
alert(segundoParametro('a','b','c')); //Aparecerá um alerta escrito "b".

Função: $empty

Uma função do tipo $empty é uma função vazia que não retorna nem faz nada. É tipicamente utilizada para guardar o lugar em algumas funções de eventos ou classes.

Sintaxe:

var funcaoVazia = $empty;

Exemplo:

var funcaoVazia = $empty;

Função: $lambda

Igual ao $empty porém retorna o valor passado como parâmetro.

Sintaxe:

var retornaVerdadeiro = $lambda(true);

Arguments

  1. value – (mixtura) O valor para a função retorna.

Retorna

  • (função) A função que retornará o valor que for passado como parâmetro.

Exemplo:

//Previne um elemento link de ser clicavel.
meuLink.addEvent('click', $lambda(false));

Função: $extend

Copia todas as propriedades de um segundo objeto para o primeiro objeto, extendendo o primeiro objeto.

Sintaxe:

$extend(original, extender);

Parâmetros:

  1. original – (objeto) O objeto a ser extendido.
  2. extender – (objeto) O objeto que terá suas propriedades copiadas para o origial.

Retorna:

  • (objeto) O primeiro objeto que foi passado como parâmetro, extendido.

Exemplos:

var primeiroObj = {
    'nome': 'João',
    'sobrenome': 'da Silva'
};
var segundoObj = {
    'idade': '20',
    'sexo': 'masculino',
    'sobrenome': 'de Oliveira'
};
$extend(firstObj, secondObj);

/*
primeiroObj agora é:
{
	'nome': 'João'
	'sobrenome': 'de Oliveira',
	'idade': '20',
	'sexo': 'masculino'
};
*/

Função: $merge

Mescla qualquer número de objetos recursivamente sem referencing eles ou seus sub-objectos.

Sintaxe:

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

Parâmetros:

  1. (objetos) Qualquer número de objetos.

Retorna:

  • (objeto) Um novo objeto cujo é o resultado da mescla de todos os objetos passados como parâmetro.

Exemplos:

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

var obj3 = {a: 4, d: 5};
var mesclado = $merge(obj1, obj2, obj3);
//retorna {a: 4, b: 1, c: 2, d: 5}, (obj1, obj2, e obj3 não foram alterados)
 
var nestedObj1 = {a: {b: 1, c: 1}};
var nestedObj2 = {a: {b: 2}};
var aninhado = $merge(nestedObj1, nestedObj2);
//retorna: {a: {b: 2, c: 1}}

Função: $each

Utilizado para executar repetições em objetos que não são arrays regulares, tal como coleções de elementos obtidos por getElementsByTagName, parâmetros de uma função, ou um objeto.

Sintaxe:

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

Parâmetros:

  1. iterable – (objeto ou array) Um objeto ou array para realizar a repetição.
  2. fn – (função) A função a ser executada para cada um dos elementos.
  3. bind – (objeto, opicional) Um objeto para ser utilizado como ‘this’ dentro da função. Paa maiores informações veja Função:bind.

Parâmetros: fn

Sintaxe:
fn(item, indice, objeto)
Parâmetros:
  1. item – (mixtura) O item atual em um array.
  2. indice – (número) O índice do item atual em um array. Em caso de um objeto, será passado a chave daquele item ao invés do índice.
  3. objeto – (mixtura) O array/objeto original.

Exemplos:

Exemplo com array:

$each(['Domingo','Segunda','Terça'], function(dia, indice){
    alert('nome:' + dia + ', indice: ' + indice);
});
//Primeiro alerta "nome: Domingo, indice: 0"
//Segundo alerta "nome: Segunda, indice: 1"
//Teceiro alerta "nome: Terça, indice 2"

Exemplo com objeto:

$each({primeiro: "Domingo", segundo: "Segunda", terceiro: "Terça"}, function(valor, chave){
    alert("O " + chave + " dia da semana é " + valor);
});
//Primeiro alerta "O primeiro dia da semana é Domingo"
//Segundo alerta "O segundo dia da semana é Segunda"
//Teceiro alerta "O terceiro dia da semana é Terça"

Função: $pick

Retorna o primeiro parãmetro passado, ou nulo.

Sintaxe:

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

Parâmetros:

  • (mixtura) Qualquer quantidade de parãmetros separados por vírgula.

Retorna:

  • (mixtura) A primeira variável que estiver definida.
  • (nulo) Se todas as variáveis que forem passadas forem do tipo null ou undefined, retornará null.

Exemplo:

function diga(infoMensagem, erroMensagem){
    alert($pick(erroMensagem, infoMensagem, 'Nenhuma mensagem foi informada.'));
}
// Aparecerá um alert escrigo "Nenhuma mensagem foi informada."
diga();
//Aparecerá um alert escrito "Esta é uma mensagem informativa."
diga("Esta é uma mensagem informativa.");
//Aparecerá um alert escrito "Esta é uma mensagem de erro."
diga("Esta mensagem será ignorada.", "Esta é uma mensagem de erro.");

Função: $random

Retorna um número inteiro aleatório entre os dois valores passados como parâmetro.

Sintaxe:

var aleatorio = $random(min, max);

Parâmetros:

  1. min – (número) O valor mínimo (inclusive ele mesmo).
  2. max – (número) O valor máximo (inclusive ele mesmo).

Retorna:

  • (número) Um número aleatório entre min e max.

Exemplo:

//Aparecerá um alerta com um número aleatório entre 5 e 20.
alert($random(5, 20));

Função: $splat

Converte o parâmetro passado em um array, se o parâmetro já for um array nada será feito.

Sintaxe:

var splatted = $splat(obj);

Parâmetros:

  1. obj – (mixtura) Qualquer tipo de variável.

Retorna:

  • (array) Se a variável passada for um array, retornará o array. Caso contrário, retornará um tendo como único item o parâmetro passado.

Exemplo:

$splat('Olá'); //Retorna ['Olá'].

$splat(['a', 'b', 'c']); //Retorna ['a', 'b', 'c'].

Função: $time

Retorna a hora atual como um timestamp.

Sintaxe:

var time = $time();

Retorna:

  • (número) – O timestamp atual.

Função: $try

Tenta executar um número de funções. Retorna imediatamente o valor de retorno da primeira função que foi executada com sucesso, sem executar as funções sub-sequentes, ou retornará null.

Sintaxe:

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

Parâmetros:

  • fn – (função) A função a ser executada.

Retorna:

  • (mixtura) O retorno da função que foi executada com sucesso.
  • (nulo) null se todas as funções falharem.

Exemplos:

var resultado = $try(function(){
    return algum.objeto.inexistente;
}, function(){
    return outro.objeto.inexistente ;
}, function(){
    return true;
});
 
//resultado é true
 
var falha, sucesso;
 
$try(function(){
    algum.objeto.inexistente  = 'alguma coisa';
    sucesso = true;
}, function(){
    falha = true;
});
 
if (success) alert('Oba!');

Função: $type

Retorna o tipo do objeto que foi passado como parâmetro.

Sintaxe:

$type(obj);

Parâmetros:

  1. obj – (objeto) O objeto a ser inspecionado.

Retorna:

  • ‘element’ – (string) Se o objeto for um DOM element node.
  • ‘textnode’ – (string) Se o objeto for um DOM text node.
  • ‘whitespace’ – (string) Se o objeto for um DOM whitespace node.
  • ‘arguments’ – (string) Se o objeto for um objeto de parâmetros.
  • ‘array’ – (string) Se o objeto for um array.
  • ‘object’ – (string) Se o objeto for um objeto.
  • ’string’ – (string) Se o objeto for uma string.
  • ‘number’ – (string) Se o objeto for um número.
  • ‘date’ – (string) Se o objeto for um objecto de data.
  • ‘boolean’ – (string) Se o objeto for um booleano.
  • ‘function’ – (string) Se o objeto for uma função.
  • ‘regexp’ – (string) Se o objeto for um expressão regular.
  • ‘class’ – (string) Se o objeto for uma Class (criado com o new Class, ou se extender uma outra classe).
  • ‘collection’ – (string) Se o objeto for um htmlelements collection, tal como childNodes, getElementsByTagName, etc.
  • ‘window’ – (string) Se o objeto for um window object, ou seja, objeto de janela.
  • ‘document’ – (string) Se o objeto for um document object.
  • false – (booleano) Se o objeto for undefined, null, NaN ou nenhum dos que foram citados previamente.

Exemplo:

var myString = 'hello';
$type(myString); //Retorna "string".

Esta documentação está sendo distribuída pela licença Attribution-NonCommercial-ShareAlike 3.0.