作者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