【问题标题】:Possible to write strongly typed entity classes in javascript?可以在 javascript 中编写强类型实体类吗?
【发布时间】:2009-09-19 00:43:42
【问题描述】:

当我通过 jQuery 从服务器检索 JSON 实体并在客户端操作它们时,我希望能够通过 Visual Studio 智能感知查看它们的界面。那么,不管这是否是一个愚蠢的想法,这有可能吗?

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

Class Person
   String Name
   String Address
   String Telephone
Enc Class

因此,当编写客户端 javascript 时,这些属性将通过智能感知可见。

我觉得这是不可能的吗?如果没有,是否可以通过枚举或类似的方式进行模拟?

【问题讨论】:

    标签: javascript jquery visual-studio json


    【解决方案1】:

    您可以在代码中包含 XML cmets,Visual Studio 2008 会将其识别为 Intellisense“提示”。

    查看以下文章:

    sample http://blogs.msdn.com/photos/webdevtools/images/1783721/original.aspx

    【讨论】:

    • 尚未确认这是否属实,但这似乎是合理的,并且会完全满足我的要求。
    【解决方案2】:

    您可以将数据包装到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 和 Aptana 应该能够很好地自动完成这种结构。

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

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

    【讨论】:

      猜你喜欢
      • 2019-08-15
      • 2019-06-15
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      相关资源
      最近更新 更多