精華區beta Web_Design 關於我們 聯絡資訊
javascript 是可以自己做類別的, 呼叫一般的 function 時,如果加上 new 的話,這個 function 就會被視為建構子 例如 function abc() {... } new abc(); 那麼指定成員變數函式的方式大約就像: function abc() { this.x = 1; this.setX = function() { this.x = 1; } return this; } 這個類別的成員可以藉由修改類別的 prototype 來改變,比方說 abc.prototype.y = 1; 不過這樣寫還是有點難看 javascript 有提供一種定義物件的方法,大約是這樣: var newobj = { x : 1, setX: function(value) { this.x =1;} } 可是這個寫法只能產生一個特定的物件,而不是產生一個類別 所以藉由合併以上所提,我寫了一個蠻短的包裝物件 http://www.csie.ntu.edu.tw/~b88039/archive/testCol/javascript/class/ 這是一個使用的範例 http://www.csie.ntu.edu.tw/~b88039/archive/testCol/javascript/ebox/ http://www.csie.ntu.edu.tw/~b88039/archive/testCol/javascript/ebox/ebox.js 至於跟 Server side 的溝通,你可以自行設計一個特別的類別來包裝 或是利用最近不少人討論的 AJAX 技術, 將跟 server 之間的溝通用 xmlhttprequest 或是基於其上的 XML-RPC 來處理 不過要特別注意的是瀏覽器的支援度。 ※ 引述《seagal (待救的小米)》之銘言: : 最近在幫銀行作一個Case : 需要用到不少的JavaScript : 因為銀行對於使用者UI要求很龜毛 Orz : 所以只好開始學JavaScript : 因為我用的語言是ASP.NET : 所以跟JavaScript整合還有點小麻煩 : 我想請問一下 JavaScript是否有類似OO的東西 : 讓我可以把每一個function跟變數 封裝成類別 : 我目前只有看到利用JS來操作ActiveX物件 : 可以用類似上述的方式來操作 : 但一般網路上的範例 都是透過一個一個function來操作 : 就像是C裡面procedure的寫法 : 回傳值到server side則是利用修改hidden欄位的方式來完成 : 這樣我要拿來跟ASP.NET裡面的物件對應 還蠻麻煩的 : 必須破壞我在server端的封裝 把值在client & server端傳來傳去 : 請問大家有好的解法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.52