Flex/AS3 – Truques e Dicas #4 – Iniciação e uso de variaveis


Por vezes já se depararam a declarar variaveis e iniciar as mesmas, por exemplo:

var aberto:Boolean = false;

Mas se vos disser que não necessitavamos de usar o false neste caso? sim, a declaração seguinte faz o mesmo:

var aberto:Boolean;

Estou a falar que qualquer variavel boolean declarada é declarada como false, a não ser que lhe indiquemos o contrário:

var aberto:Boolean = true;

Bem como esta variavel, encontramos valores por defeito em todas as outras, sendo assim:

var aberto:Boolean; //(aberto=false)
var num1:int; //(num1=0)
var num2:uint; //(num2=0)
var num3:Number; //(num3=NaN=Not a Number)
var str:String; //(str=null)

Qualquer variavel não declarada, é-lhe atribuido o estado undefined :

var variavel; //(variavel=undefined)

Qualquer outra declaração de outra qualquer classe é-lhe atribuida o valor null:

var obj:Object; //(obj=null)
var mc:MovieClip; //(mc=null)<span id="more-903"></span>

Todas estas variaveis são faceis de saber se não estão com o valor por defeito, basta comparar o seu valor com o valor por defeito, execeptuando o Number que não podemos fazer por exemplo:

if(num3!=NaN) 

Como fariamos numa string: if(str!=null) ou num int: if(num1!=0). Ora então, mas como sabemos se o defeito foi alterado numa variavel Number?, simples, com o isNaN(), usando da simples forma:

if(isNaN(num3)) trace('Numero é NaN');
else trace('Numero é : '+num3);

O isNaN() devolve um valor true no caso de ser a variavel estiver como NaN ou false caso tenha um numero atribuido a ela. E fica ja agora, outra dica, o if() se não encontrar condição, compara com o boolean true por isso se estivermos a fazer uma comparação que devolva verdadeiro ou falso, não necessitamos de colocar:

if(isNaN(num3)==true) trace('Numero é NaN');

porque o 

if(isNaN(num3)) trace('Numero é NaN');

faz exactamente o mesmo :)

 

Bom, espero que seja util,

Abraços.

Deixe um comentário ou um Trackback
   

Um Comentário

  1. Rafael Möller
    March 6, 2010 às 3:28 pm | Permalink

    Ótimo artigo, parabéns.
    Fica uma dica também, podemos verificar o valor para quaisquer tipo de variáveis relacionadas no artigo acima simplesmente utilizando o nome da variável em um if, por exemplo:

    var aberto:Boolean; //(aberto=false)
    if (aberto) trace(“Aberto”);
    else trace(“Fechado”);

    ou

    var num1:int; //(num1=0)
    if (num1) trace(“Diferente de null ou Zero”);
    else trace(“Igual a null ou Zero”);

    ou

    var num2:uint; //(num2=0)
    if (num2) trace(“Diferente de null ou Zero”);
    else trace(“Igual a null ou Zero”);
    ou

    var num3:Number; //(num3=NaN=Not a Number)
    if (num3) trace(“Diferente de null ou NaN ou Zero”);
    else trace(“Igual a null ou NaN ou Zero”);

    ou

    var str:String; //(str=null)
    if (str) trace(“Diferente de null ou Branco”);
    else trace(“Igual a null ou Branco”);

    ou

    var variavel; //(variavel=undefined)
    if (variavel) trace(“Diferente de null ou undefined ou Zero ou NaN ou Branco”);
    else trace(“Igual a null ou undefined ou Zero ou NaN ou Branco”);

    ou

    var obj:Object; //(obj=null)
    if (obj) trace(“Diferente de null ou undefined ou Zero ou NaN ou Branco”);
    else trace(“Igual a null ou undefined ou Zero ou NaN ou Branco”);

    var mc:MovieClip; //(mc=null)
    if (variavel) trace(“Diferente de null ou undefined”);
    else trace(“Igual a null ou undefined”);

    As variáveis do tipo Object e as que não possuem definição de tipo de dado, efetuam todas a validações por serem objetos dinâmicos, os quais são estereotipados conforme o tipo de dado informado a eles.

Deixe um comentário

O seu email nunca será publicado ou partilhado. Campos obrigatórios estão marcados com um *

*
*

Spam Protection by WP-SpamFree