February 1, 2012

Função Left e Right no JavaScript

Uma função muito util utilizada em outras linguagens não esta presente no Javascript, para isso, abaixo um código que oferece as mesmas funções do Left e Right

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

January 21, 2012

Sintaxe alternativa para funções JavaScript

Em Javascript você pode usar a seguinte sintaxe para declarar funções independentes:

function ExibirMensagem(Texto) {
alert(texto);
}

A Linguagem JavaScript permite escrever isso na forma de uma atribuição de variável, se você preferir:

var ExibirMensagem = function(Texto) {
alert(Texto);
}

Conforme você pode esperar, há uma diferença muito sutil entre os efeitos desses dois estilos:
Uma função declarada como a primeira sintaxe pode ser usada por qualquer código no arquivo, mesmo que apareça antes da declaração da função. Uma função declarada como a última sintaxe só pode ser usada pelo código executando após a instrução de atribuição que declara a função. (Lembre-se: Se seu código for bem organizado, essa diferença não importa)

Você pode reduzir essa sequência inteira usando a sintaxe de objeto literal, conforme abaixo:

var NomePrograma = {

variavelX: "Apenas uma variavel",
Mensagem: function(texto){
alert(text);
}

};

Em vez de criar primeiro um objeto vazio e depois preenchê-lo com propriedades e métodos, usando uma série de instruções de atribuição, a sintaxe de objeto literal permite criar o objeto e seu conteúdo com uma única instrução.

Na sintaxe de objeto literal, representamos um novo objeto com chaves; dentro dessas chaves, listamos as propriedades e os métodos do objeto, separados por vírgulas. Para cada propriedade e método, atribuímos um valor usando dois pontos, em vez do perador de atribuição.

A sintaxe de objeto literal pode ser difícil de ler quando você está usando a sintaxe de atribuição padrão há algum tempo, mas ela é ligeiramente mais sucinta.

January 14, 2012

Substituindo caracter ou uma string em um texto via Javascript

Tudo se resolveria se o replace() não substituisse apenas o primeiro registro encontrado. Para isso use a seguinte função:

function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}

Veja um exemplo:

str = "Isso é um teste, mas pensando em um teste podemos sempre usar o replaceAll";
alert(replaceAll(str,"teste","grande teste")

Boa Sorte..