按字符串创建一个javascript对象

时间:2014-09-08 18:28:54

标签: javascript jquery asp.net devexpress

我想通过一个preifened名称访问usercontrol,就像DevExpress组件一样。像这样:

"<dx:MyUserControl runat="server" ID="My" ClientInstanceName="MyClient"></>"

在我的主页面中,我想访问usercontrol的客户端方法。 类似的东西:

MyClient.DoSomething();

在我的usercontrol页面中会有一个实现此方法的对象:

function myClass{
    DoSomething : function(){ var a = 2 + 2;}
}

所以,通常我会将对象声明为:     var MyClient = new myClass();

但是现在MyClient是动态的,ClientInstanceName可能是什么......

那我怎么能这样做?

也许JSON或eval?

1 个答案:

答案 0 :(得分:1)

你的问题有点双重含义,所以让我回答一下我找到的两种意义。

您有一个名为MyClient的变量和一个名为myClass的类。

现在,即使我们假设这两个名称都是动态的,您也可以将这两个名称存储在变量AB中,这样

如果B等于"foobar",那么您确定页面上有一个类

function foobar() { ... }

如果A等于"myFoobar",您就知道必须实际执行类似

的操作
var myFoobar = new foobar();

现在,由于变量和类都是全局范围的,因此您可以轻松地执行

window[A] = new window[B]();

那就是它!