NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
Objetivos:
Na nona parte do tutorial você aprendeu como sua pagina na Web pode desempenhar
tarefas repetitivas, simplesmente utilizando loops em seu script.
Nesta próxima parte você aprenderá tudo sobre dois recursos
avançados do JavaScript: objeto e handlers de evento.
Pré-requisitos: Para acompanhar a lição você deve estudar as primeiras partes desse tutorial.
Utilizando objetos embutidos
O que é um objeto?
Como você sabe a partir do que estudou nos tutoriais anteriores, os objetos permitem combinar vários tipos de dados e funções para agir sobre os dados em um único pacote. Nesta parte do tutorial você aprendera, mais sobre os objetos embutidos Math e Date, mais primeiro, irei fazer uma visão rápida de como os objetos funcionam no JavaScript.
Criando Objetos
Cada objeto tem uma função especial, denominada construtor, que é utilizada para criar objetos. Por exemplo, O JavaScript inclui uma função embutida chamada String para criar objetos String. Essa é a razão pela qual você pode criar uma variável de string como esta:
meunome= new String (“Kenia”);
A palavra-chave new diz ao JavaScript para criar um novo objeto ou, em termos técnicos, uma nova instancia do objeto String. Essa instância particular terá o valor Kenia e será armazenada na variável meunome.
Você pode utilizar a mesma sintaxe básica para criar objetos String, Date, Array e até seus próprios objetos personalizados, porem o objeto Math é uma exceção, mais isso você vai ver logo adiante.
Propriedade e valores de objeto
Cada objeto pode ter uma ou mais propriedades ou atributos. Cada propriedade é basicamente uma variável e esta contida dentro do objeto. Pode-se atribuir um valor a todas as propriedades. È possível utilizar propriedades para armazenar qualquer tipo de dados que uma variável pode armazenar.
Você já utilizou algumas propriedades de objeto, como a propriedade length de strings e arrays. Para referenciar uma propriedade, você utiliza o nome do objeto, um ponto e o nome da propriedade. Por exemplo, o comprimento do array name é referenciado com essa propriedade:
names.length
As propriedades de objetos pode conter até mesmo os próprios objetos. Por exemplo, cada um dos elementos do array é um tipo de propriedade especial, identificamos por um valor de índice. Se o array names contém strings, ele é um array de objetos String, como por exemplo, a sintaxe para o comprimento do primeiro elemento de names é:
names[0].length
Entendendo métodos
Como você já aprendeu, as funções são combinações de instruções que podem ser executadas como uma unidade. Os métodos são funções que são armazenadas como propriedades de um objeto.
Você já utilizou os métodos. Por exemplo, o método toUpperCase de objetos String, que converte uma string em letras maiúsculas. Eis um exemplo que utiliza uma string chamada value:
value.toUpperCase( );
Como funções comuns, os métodos podem opcionalmente retornar um valor. Por exemplo, a instrução abaixo arredonda um numero utilizando o método round do objeto Math e armazena o resultado na variável final:
final= Math.round(num);
Utilizando a palavra-chave with
A palavra-chave with ainda não foi abordada aqui. Você pode utilizá-la para tornar a programação em JavaScript mais fácil ou pelo menos mais fácil de digitar.
A palavra-chave with especifica um objeto e é seguida por um bloco de instruções incluído entre chaves. Para cada instruções no bloco, quaisquer propriedades que você mencione sem especificar um objeto são assumidas como sendo relativas a esse objeto.
Como por exemplo, suponha que você tenha uma string chamada lastname. Você pode utilizar o with para executar operações de string sobre ela sem especificar o nome da string todas às vezes:
with(lastname) {
window.alert(“ length
of last name:” + length);
toUpperCase():
}
Nesse exemplo, a propriedade length e o método toUpperCase refere-se ‘a string lastname, embora ela seja somente especificada uma vez com a palavra with.
É obvio que a palavra with apenas economiza um pouco de digitação em situações como essa. Entretanto, você a achará muito útil quando estiver lidando com um objeto dentro de um longo procedimento ou quando estiver utilizando um objeto embutido, como o objeto Math.
O Objeto Math
O objeto Math é um objeto embutido de JavaScript que inclui funções e constantes matemáticas. Você não precisa criar um objeto Math, porque ele existe automaticamente em qualquer programa JavaScript. As propriedades do objeto Math representam constantes matemáticas e seus métodos são funções matemáticas.
Nota: Como você pode utilizar as propriedades e métodos do objeto Math em um grupo inteiro de instruções, talvez ache útil utilizar a palavra-chave with, introduzida anteriormente nesta hora, para especificar o objeto Math para essas instruções.
Arredondando e Truncando
Três dos métodos mais úteis do objeto Math permitem arredondar valores decimais para cima e para baixo:
» Math.ceil( ): arredonda um numero para cima ate o próximo inteiro.
» Math.floor( ): arredonda um numero para baixo ate o próximo inteiro.
» Math.round( ): arredonda um numero para o inteiro mais próximo.
Todos eles tomam o numero a ser arredondado como seu único parâmetro. Você talvez note uma coisa ausente: a capacidade de arredondar para casa decimal, como para valores monetários.Entretanto, você pode facilmente simular isso.O exemplo abaixo mostra uma função que arredonda números para duas casas decimais.
function round( numero) {
return Math.round( numero*100)/100;
}
Essa função multiplica o valor por 100 para mover o decimal e então arredonda o numero para o inteiro mais próximo. Por fim, o valor é dividido por 100 para restaurar o decimal.
Gerando números aleatórios
Um dos métodos mais comumente utilizados do objeto Math é o método Math.random( ), que gera um numero aleatório. Esse método não exige nenhum parâmetro. O numero que retorna é um numero decimal aleatório entre 0 e 1.
Em geral, você vai querer um numero aleatório de uso geral. O Exemplo abaixo mostra uma função que gera números aleatórios entre 1 e o parâmetro que você envia para ela.
function rand( numero) {
return Math.floor( Math.random() *numero)+;
}
Essa função multiplica um numero aleatório pelo valor que você envia para ela e depois o converte em um inteiro entre 1 e o numero utilizando o método Math.floor().
Outras Funções tipicamente Matemáticas:
Math.abs(número) - retorna o valor absoluto do número (ponto flutuante)
Math.pow(base, expoente) - retorna o cálculo do exponencial
Math.max(número1, número2) - retorna o maior número dos dois fornecidos
Math.min(número1, número2) - retorna o menor número dos dois fornecidos
Math.sqrt(número) - retorna a raiz quadrada do número
Math.SQRT2 - retorna a raiz quadrada de 2 (aproximadamente 1.414)
Math.SQRT_2 - retorna a raiz quadrada de 1/2 (aproximadamente 0.707)
Math.sin(número) - retorna o seno de um número (anglo em radianos)
Math.asin(número) - retorna o arco seno de um número (em radianos)
Math.cos(número) - retorna o cosseno de um número (anglo em radianos)
Math.acos(número) - retorna o arco cosseno de um número (em radianos)
Math.tan(número) - retorna a tangente de um número (anglo em radianos)
Math.atan(número) - retorna o arco tangente de um número (em radianos)
Math.pi retorna o valor de PI (aproximadamente 3.14159)
Math.log(número) - retorna o logarítmo de um número
Math.E - retorna a base dos logarítmos naturais (aproximadamente 2.718)
Math.LN2 - retorna o valor do logarítmo de 2 (aproximadamente 0.693)
Math.LOG2E - retorna a base do logarítmo de 2 (aproximadamente 1.442)
Math.LN10 retorna o valor do logarítmo de 10 (aproximadamente 2.302)
Math.LOG10E - retorna a base do logarítmo de 10 (aproximadamente 0.434)
Nota: Em todas as funções, quando apresentamos a expressão "(número)", na verdade queremos nos referir a um argumento que será processado pela função e que poderá ser: um número, uma variável ou o conteúdo de um objeto (propriedade value).
Trabalhando com Datas
O objeto Date é um objeto embutido no JavaScript que permite trabalhar com datas e horas. Você pode criar um objeto Date sempre que precisar armazenar uma data e utilizar os métodos do objeto Date para trabalhar com a data.
O objeto Date não tem propriedades, para configurar ou obter valores de um objeto Date , você deve utilizar outros métodos , que vai ser abordado logo a seguir.
Criando um objeto Date
Você pode criar um objeto Date utilizando a palavra-chave new. Opcionalmente você também pode especificar a data para armazenar no objeto quando você o cria.
Você pode utilizar qualquer dos seguintes formatos:
Aniversario=new Date ( );
Aniversario=new Date (“Julho 20, 2005, 08:00:00” );
Aniversario=new Date (“07, 20, 2005” );
Aniversario=new Date (“ 07,20, 2005,8,0,0” );
Você pode escolher, quaisquer desses formatos, dependendo de quais valores quer configurar. Se você não utilizar parâmetros, como no primeiro caso, a data atual é armazenada no objeto. Você então pode configurar os valores utilizados outro método que vai ser descrito a seguir.
Configurando valores de data
Uma variedade de métodos set permite configurar componentes de um objeto Date para valores :
» setDate( ): configura o dia do mês.
» setMonth( ): configura o mês. O JavaScript numera os meses de 0 a 11, iniciando com Janeiro (0).
» setFullYear( ):configura o ano.
» setTime( ) : configura a hora e a data especificando o número de milissegundos, desde 1º de Janeiro.
» setHours( ), setMinutes( ),setSeconds( ): configura a hora.
Como por exemplo, a instrução abaixo configura o ano de um objeto Date denominado holiday para 99.
holiday.setYear(99).
Obtendo valores de data
Você pode utilizar os métodos get para obter valores de um objeto Date. Essa é a única maneira de obter valores, porque eles não são propriedades disponíveis. Eis os métodos get disponíveis para datas:
» getDate( ): obtém o dia do mês.
» getMonth( ): obtém o mês.
» getFullYear( ):obtém o ano.
» getTime( ):obtém a hora e a data como o número de milissegundos deste 1 de Janeiro.
» getHours( ), getMinutes,getSeconds( ): obtém a hora.
Nota: Juntos com setFullYear e getFullYear, que exigem anos de quarto dígitos, o JavaScript inclui os métodos setYear e getYear, que utilizam datas de dois dígitos. Você sempre deve utilizar a versão de quatro dígitos para evitar questoes do Ano 2000.
Trabalhando com fusos horários
Por fim, algumas funções estão disponíveis para ajudar seus objetos Date a trabalharem com valores de hora local e fusos horários:
» getTimeZoneOffset( ):Fornece a diferença entre o fuso horário local e o GMT( Greenwich Mean Time, também conhecido como UTC). Nesse caso, local refere-se á localização do navegador, naturalmente, isso somente funciona se o usuário configurou seu relógio de sistema corretamente.
» toGMTString( ): Converte o valor de hora do objeto date em texto, utilizando GMT.
» toLocalString( ): Converte o valor de hora do objeto date em texto, utilizando a hora local.
Convertendo entre formatos de data.
Dois métodos especiais do objeto Date permitem converter entre formatos de data. Em vez de utilizar esses métodos com um objeto Date que você criou, você os utiliza com o próprio objeto Date embutido. Esses métodos são os seguintes:
» Date.parse ( ): Converte uma string de data e objeto Date.
» Date.UTC ( ): Faz o contrario. Converte um valor de objeto Date em uma hora UTC ( GMT).
Nesta parte do tutorial você aprendeu os fundamentos de alguns objetos do JavaScript que você irá utilizar nos próximos tutoriais . Nesta parte também você aprendeu alguns assuntos específicos dos objetos Math e Date. No próximo tutorial iremos aprender como trabalhar com objetos de browser, que se referem a varias partes da janela de navegador e do documento de HTML.
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2024 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI