2009-09-19 41 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在這方面做得最好。