Jeroen Jeroen - 1 year ago 88
Javascript Question

Get object by name as string without eval

The code below does what I want, but I would like to avoid

. Is there a function in Javascript that looks up an object by its name as defined by in a string?

myobject = {"foo" : "bar"}
myname = "myobject";

Some context: I am using this for an application in which a large number of nodes in the dom has a html5
attribute, which is used in the handler function to connect back to the model.

Edit: myobject is neither global nor local, it is defined in one of the parent frames of the handler.

Answer Source

If variables are global then:

myobject = {"foo" : "bar"};
myname = "myobject";


For local:

    myobject = {"foo" : "bar"};
    myname = "myobject";
    alert( this[myname].foo );


Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download