Javascript 物件 類別 的寫法(改版20170414)
特別注意:
Object 傳入函式時 ,是傳址 所以其他函式 一變更就會變但 一般 參數 string int boolen 則是 傳值 不一樣
跟 C# 一樣 new 之後就是唯一一個除非再 new 一個 不然怎麼改都會改到他
Json 物件也是物件 陣列也是 Object
這要特別注意 不然會死得莫名其妙
可用 $.extend(A,B); 從 B 複製一份 到 A
參考jQuery.extend的用法
*****************************************
習慣 C# 的 class 之後 知道類別的好用
javascript 之前 寫的功能少
大部分 都是一直在用別人的 物件
這次終於覺得不用的話 程式會亂到不像話
20170412新增
本來是用最下面的作法 但是還是覺得不是很像 C#再研究後 原來可改成這樣
function MyRuleObj = function (DivId) {
Mythis = this;
Mythis.Jid = "#"+DivId;
Rtype=0;//私有變數
Mythis._OpenWin = function ()//自行定義 所要的功能
{
var _this = this;//加這個當內部this 怕 跟 java自己的 this 弄混
alert(_this.Jid);//不可直接用 Jid
$(Owin).window('open');
}
Mythis.Init= function ()
{
}
};
這樣整個包再一起 就比較像
如果變數跟function 不加 this 變成私有變數...
以下是之前做法
參考:
用JavaScript寫類別的淺薄心得 - Class篇
一個簡單的範例:先宣告一個接口 可在建立時傳入變數
var MyRuleObj = function (DivId) {
this.Jid = "#"+DivId;
};
這邊才是主題
MyRuleObj.prototype = {//原型(Prototype)
Jid: '',
Ldlist: '#QusJumpL',
Rdlist: '#QusJumpR',
Mdlist:'#QusJumpJ',
Owin:'#QusJumpwin',
OpenWin:function()//自行定義 所要的功能
{
var _this = this;//加這個當內部this 怕 跟 java自己的 this 弄混
alert(_this.Jid);//不可直接用 Jid
$(Owin).window('open');
},
Init: function ()
{
}
}
使用方式:
var MyRule = new MyRuleObj(did);
MyRule.OpenWin();
***********************************************
留言
張貼留言