Obtendo e definindo valores de variáveis de um arquivo JavaScript para outro

0

Digamos que temos dois arquivos – A.js e B.js. Eu tive esse desafio onde eu tinha que encontrar alguma maneira de obter um valor de uma variável de um arquivo A.js e usar o valor da variável no arquivo B.js. Eu também tive a limitação onde eu não poderia fundir A.js com B.js. Não era prático fazer um terceiro arquivo colocando as partes comuns dos códigos de A.js e B.js

Então, eu lembrei do HTML 5 Storage. Com o armazenamento local, os aplicativos da Web podem armazenar dados localmente no navegador do usuário.

Você pode estar pensando, porque não utilizar Cookies? O armazenamento local é mais seguro e grandes quantidades de dados podem ser armazenadas localmente sem afetar o desempenho do site o que faz uma diferença bastante considerável quando comparamos à Cookies.

Todas as páginas podem armazenar e acessar os dados armazenados em Local Storages.

Meus arquivos A.js e B.js têm duas variáveis denominadas variableOne e VariableTwo com valores “valueOne” e “valueTwo”, respectivamente.

//definindo variáveis

A.js var variableOne = "valueOne";  
B.js var variableTwo;  

    

 

Precisamos obter o valor de variableOne de A.js e defini-lo em variableTwo em B.js.
Primeiro, vamos armazenar o valor da variável “variableOne” de A.js em armazenamento local.

//escrito no A.js   

localStorage.setItem("vOneLocalStorage", variableOne);  

 

Obteremos o valor da variável “variableOne” do Local Storage. No localStorage, o valor é armazenado na variável “vOneLocalStorage”. Assim, o método Get inclui mencionar a variável localStorage, como mostrado abaixo.

//escrito no B.js

var vOneLS = localStorage.getItem("vOneLocalStorage");  

 

E a cópia final que indicará o valor de variableOne é movido para variableTwo.
var variableTwo = vOneLS;  
    
Trabalhar com Armazenamento Local é bastante complicado quando você armazena valores booleanos ou numéricos dentro do armazenamento local. Vamos ver alguns exemplos:
//Quando você armazena um valor booleano em localStorage, o valor booleano é alterado para seqüência de caracteres.

var booleanValue = false;  
localStorage.setItem("trueORFalse ", booleanValue);  
booleanValue = localStorage.getItem("trueORFalse");  

//Agora, o BooleanValue é "false", isto é, convertido em string.
//Portanto, para obter esses problemas, converta a seqüência de caracteres para Boolean.


if (booleanValue == "false") booleanValue = false;  
else booleanValue = true;  


//Quando você armazena um valor de número no localStorage, o valor é convertido para string


var number = 123;  
localStorage.setItem("numberLS", number);  
var value = localStorage.getItem("numberLS");  


//Então, converta a seqüência de caracteres "123" em um tipo numérico usando o código abaixo:

var result = Number(value);  
	
Viu só como é fácil após um pouco mais de entendimento com alguns exemplos? A solução já existe, porém você pode adaptar ao seu cenário sempre que precisar.
Um grande abraço a todos!
Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com