2011-09-07 99 views
0

我正在研究显示JavaScript文件中存在的类的所有公共属性的代码。目前,用户在文本框中输入类的名称。而不是用户在文本框中键入类的名称,我想显示JavaScript文件中存在的类的列表,并允许用户选择他希望的任何类。如何获取JavaScript文件中存在的所有类名?

c#中的解决方案是加载dll,并使用Assembly.getTypes()函数获取程序集中的所有类型。但我期望在JavaScript文件中找到所有类的类型。

这可能吗?由于JavaScript是一种解释型语言,它会成为一个问题吗?

任何帮助,将不胜感激。

谢谢

+3

你究竟称之为“课堂”? –

+3

由于JavaScript中的类本质上是一个函数,我认为函数和类将很难区分开来。 – MrMisterMan

+0

一个类是我可以创建一个对象的任何类型。例如,函数myclass(){this.aProp = 0; this.bprop = 0;}我可以使用下面的语句创建一个myClass的对象:var myObj = new myClass(); – Ramya

回答

0

类只是JavaScript中的函数,函数只是变量。如果你像这样定义一个类:

function myClass() { 
    // ... 
} 

..它成为一个全局变量(window.myClass),所以你可能会看一看窗口对象找到所有定义的(全球)班。

+0

感谢您的帮助。我尝试以下 \t为(在窗口VAR CL) \t { \t \t document.writeln( “

”+ CL +“

”) \t}它显示所有预先定义的属性和funtioncs像onbeforeunload,状态,文档onmessage,onblur,onunload,event,self,clientInformation等。如果我提到函数直接说“windows.myClass”,则显示整个函数代码。所以我不明白为什么它没有提供上述代码。有什么我失踪? – Ramya

+0

'for(var cl in window)'给你指数,而不是数值 - 'window [cl]'就是你所需要的。但是,正如你已经注意到的那样,窗口对象有许多预定义的属性,你需要以某种方式进行排序。 – Niko

+0

谢谢。 window [myclass]的值显示为'undefined'。当我将上面的代码更改为(var cl in window){document.writeln(“

”+ window [cl] +“

”); ,函数的名称不显示。有什么建议么? – Ramya

相关问题