Jump to content
xisto Community
demolaynyc

Note: How To Retrieve Variables From Function To Another

Recommended Posts

I have been having troubles with this but I found out a solution to this. The problem is to declare variables inside a function and retrieve its value from another function--but that doesn't work.

 

Here is an example of the wrong thing to do:

 

function firstFunc () {	 var aVariable = oneValue;}function getVariable () {	 trace (aVariable);}

The trace would return (undefined) because it is undefined in that exact function.

 

Solution:

do not declare variables inside a function. If you have to, use _root.variableName instead of var variable Name

 

Here's a sample code:

 

function firstFunc () {	 _root.aVariable = oneValue;}function getVariable() {	 trace(_root.aVariable);}

So, tell me what you think. And if there's a better alternative please do post it.

Share this post


Link to post
Share on other sites

I'm not sure, but I think you can also do something like this:

var aVariable;function firstFunc() {	 aVariable = oneValue;}function getVariable() {	 trace(aVariable);}
I don't have Flash right now to test this, but I'm guessing it should work (it works in plain ol' Javascript, so I don't forsee a problem - it's nothing special to Flash, merely programming semantics). Setting the variable as a member of "_root" is OK, but not necessarily that "correct" programatically, and I think that this method is better.

Share this post


Link to post
Share on other sites

LOL. Wow, looking back to this it just shows how much of a novice I was at AS and this was pretty recent. Yep, your code should work. The best method is yours (declaring the variable outside the functions.

Share this post


Link to post
Share on other sites

Another solution would be to use a Class for those kind of things, usually if you want other variables work in other function, you create a Class, so the basic example is:

class MyClass {	var $var1 = '';	function myFunction1() { $this->var1 = 'Value'; }		function myFunction2() { return $this->var1; }}$MyClass = new MyClass;echo $MyClass->myFunction2(); // Value

So you can access and manage all the variables using $this->var1; In fact, sometimes using a Class is very comfortable, to play with functions ;)
Edited by Quatrux (see edit history)

Share this post


Link to post
Share on other sites

Hey Quatrux, is that Actionscript or PHP? It looks to me like PHP. Well, it can be converted to AS easily anyway. wait, I noticed here: " $MyClass = new Database "why would you make a new "Database" rather than "MyClass"? JW

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.