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:
- 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:
- 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:
- 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
- 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
- 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:
- original – (objeto) O objeto a ser extendido.
- 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:
- (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:
- iterable – (objeto ou array) Um objeto ou array para realizar a repetição.
- fn – (função) A função a ser executada para cada um dos elementos.
- 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:
- item – (mixtura) O item atual em um array.
- 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.
- 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
nullouundefined, 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:
- min – (número) O valor mínimo (inclusive ele mesmo).
- 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:
- 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)
nullse 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:
- 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.