Arquivo para o ‘Javascript’ Categoria
Funções para Manipulação de variáveis
Última atualização sábado, 3 julho 2010 02:45 Escrito por ffarias sábado, 3 julho 2010 02:45
Ao se trabalhar com javaScript ou qualquer outra linguagem de programação, muitas vezes é necessário saber o tipo da variável que estamos manipulando. Por exemplo: uma variável do tipo boolean pode representar dois valores lógicos (verdadeiro ou falso) e deve assumir somente um dos símbolos dessa faixa de valores.
Considere agora que no seu código existe uma variável qualquer, e em uma determinada condição seja necessário saber o tipo dessa variável.
Exemplificando:
Se tipoVariavel(estado) = ‘boolean’ Então { … }
No javaScript isso acaba se tornado um problema, apesar de pequeno, mas que pode se estender se você precisar saber em outras “várias” linhas de código se uma determinada variável é uma string, um número, um objeto e por aí vai…
O objetivo deste artigo é escrever um código em javaScript (uma pequena biblioteca) para resolver estes pequenos problemas do dia a dia.
/** * Manipulação de Variáveis 1.0 * @author: Felipe Lunardi Farias * * @class check */ var check = function(){ return { /** * Criamos um objeto (op) com a propriedade prototype para * adicionar propriedades e/ou métodos a um determinado objeto */ op : Object.prototype, /** * Determina se o objeto possui valor indefinido * @method is_undefined * @param {object} objeto em teste * @return {boolean} resultado */ is_undefined: function( o ) { try{ return typeof o === 'undefined'; } catch(e){ throw new Error( "Error: " + e ); } }, /** * Determina se é um array * @method is_array * @param {object} objeto em teste * @return {boolean} resultado */ is_array: function( o ){ try{ return this.op.toString.apply(o) === '[object Array]'; } catch(e){ throw new Error( "Error: " + e ); } }, /** * Determina se o objeto é do tipo string * @method is_string * @param {object} objeto em teste * @return {boolean} resultado */ is_string: function( o ) { try{ return typeof o === 'string'; } catch(e){ throw new Error( "Error: " + e ); } }, /** * Determina se o objeto é do tipo número * @method is_number * @param {object} objeto em teste * @return {boolean} resultado */ is_number: function( o ) { try{ return typeof o === 'number' && isFinite(o); } catch(e){ throw new Error( "Error: " + e ); } }, /** * Determina se o objeto é uma função * @method is_function * @param {object} objeto em teste * @return {boolean} resultado */ is_function: function( o ) { try{ return this.op.toString.apply(o) === '[object Function]'; } catch(e){ throw new Error( "Error: " + e ); } }, /** * Determina se o objeto é um boleano * @method is_boolean * @param {object} objeto em teste * @return {boolean} resultado */ is_boolean: function( o ) { try{ return typeof o === 'boolean'; } catch(e){ throw new Error( "Error: " + e ); } }, /** * Determina se o objeto possui valor nulo * @method is_null * @param {object} objeto em teste * @return {boolean} resultado */ is_null: function( o ) { try{ return o === null; } catch(e){ throw new Error( "Error: " + e ); } }, /** * Determina se o objeto é do tipo objeto * @method is_object * @param {object} objeto em teste * @return {boolean} resultado */ is_object: function( o ) { try{ return typeof o === 'object'; } catch(e){ throw new Error( "Error: " + e ); } } }; }; |
Postado sobre Javascript | Nenhum Comentário