Criar variável global apartir de uma funçao

10/08/2008 - 21:30

Meus caros,

Estes dias precisei passar uma variável para uma outra função e não conseguia se não fosse por variável global. Pois bem, seria muito fácil eu criar uma variável no começo do código e atribuir o valor a ela e depois pegar onde quisesse, porém não tinha acesso ao script principal e tive que dentro de uma função criar uma variável global para que a outra função enxergasse a variável. 

Olhem como fiz:

<script type=”text/javascript”>
	function executaAjax(id) {
		top.novaVariavelGlobal = id;

		…
			objAjax.onreadystatechange = funcaoExecutora;
		…
	}

	function funcaoExecutora() {
		alert(novaVariavelGlobal);
	}

	executaAjax(’id_teste’);
</script>

  

Notem que quando vou usa-lá não preciso mais do ‘top.’, pois agora ela é global.

Segue um exemplo para testarem:

<script type=”text/javascript”>
	function executa(id) {
		top.novaVariavelGlobal = id;

		document.onkeypress = funcaoExecutora;
	}

	function funcaoExecutora() {
		alert(novaVariavelGlobal);
	}

	executa(’1′);
</script>

 

É só criar uma página com o script acima e apertar o <ENTER>.

Abs,
Chapoo!

Autor: Chapolin - Categoria(s): Javascript Tags: , ,

2 comentários para "Criar variável global apartir de uma funçao"

  1. 11/09/2008 - 15:50 Enviado por: Fabio

    Se esse código estiver dentro de um frame vai dar erro !, mas pra quem não usa frame é uma otima dica !

  2. 11/09/2008 - 16:18 Enviado por: Danilo Trindade

    Fabio,

    Testei e realmente não funciona o script da maneria que deveria…

    Realmente não pensei no frame, embora muitas pessoas prefiram não usar frames, vou pensar em algo e colocar a correção se possível.

    Att,
    Danilo.

Deixe um comentário