2009-09-19 40 views
0

当我从服务器通过jQuery检索JSON实体并操作它们的客户端时,我希望能够通过Visual Studio intellisense查看它们的接口。所以,忽略这是否是一个愚蠢的想法,这有可能以任何方式?可能在JavaScript中编写强类型实体类?

所以,我在想是能够引用Entities.js,这将包含所有实体的定义,即:

Class Person 
    String Name 
    String Address 
    String Telephone 
Enc Class 

所以后来编写客户端的JavaScript时,这些属性会通过智能感知可见。

我有一种感觉,这是不可能的,但?如果没有,它可能是通过枚举或类似的东西模拟吗?

回答

0

你可以用数据转换成JavaScript类,即:

var someJson = { foo: 'foo', bar: 'bar' }; 

var MyClass = function(foo, bar) { this.foo = foo; this.bar = bar; } 
MyClass.prototype = { 
    foo: '', 
    bar: '' 
}; 

var someObj = new MyClass(someJson.foo, someJson.bar); 

我不知道有关Visual Studio,但IntelliJ IDEA的和集锦应该能够很好地自动完成这种结构。

它也很大程度上取决于IDE是否能够从某个地方确定变量的类型。如果将某个对象作为参数传递给函数,则IDE可能无法确定类型。这通常可以通过在JsDoc样式注释或类似内容中提供类型提示来提供帮助。

这些都是需要JsDoc提示或IDE进行一些智能猜测的问题。根据我的经验,IntelliJ在这方面做得最好。