Create instance of “Class” Using “Reflection” in JavaScript

I searched the web for some way to create instance of "Class" in "reflection" using javaScript but I found nothing.

generally i'm trying to do someting like java code.

Object o = Class.forename("MyClassName");

but in javaScript, in such way that I'll get the instance of class when I have only the name of the class, any idea?

Thankes.

Answers:

Answer

JavaScript doesn't have classes. But if by "class" you mean you have a constructor function:

function MyClassName() {
   // do constructor things here
}

But the name of that function is in a variable:

var someclass = "MyClassName";

Then you can instantiate an instance like this:

var obj = new window[someclass]();

The above only works if MyClassName is in the global scope.

Answer

Classes in Javascript are nothing but global functions. So you should be able to do this:

var o = new window["MyClassName"];

for example:

var o = new window["Array"];

Keep in mind that this example is just an example. Arrays should be created via [] syntax.

Answer

This is working for me:

var obj = eval("new  " + className + "()");

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us Javascript

©2020 All rights reserved.