作者TKirby ( ^-^)
看板Web_Design
標題Re: [問題] 請問大家有關於JavaScript與OOP的問題
時間Sun Jun 5 22:06:46 2005
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