今天所要說的就是,如何在Javascript裡寫類與靜態類,這是本人一慣用的方法,你也可以有更為方便的,也可以發發評論跟大家交流交流。
首先說說類,在一個類裡我們會有以下的幾個特徵:
1. 公有方法
2. 私人方法
3. 屬性
4. 私人變數
5. 解構函式
我們直接看一個例子:
類例子
複製代碼 代碼如下:/***定義類***/
var Class = function(){
var _self = this;//把本身引用負值到一變數上
var _Field = "Test Field"; //私人欄位
var privateMethod = function(){ //私人方法
alert(_self.Property); //調用屬性
}
this.Property = "Test Property"; //公有屬性
this.Method = function(){ //公有方法
alert(_Field); //調用私用欄位
privateMethod(); //調用私用方法
}
}
這裡我已把注釋都寫上,大家大概也會一眼就看得明白。對於少寫JS的朋友,可能會覺得奇怪為什麼我會定義一個_self的變數, 因為在js裡,this不用對於其他的對象語言,他的解析過程與運行過程中this會改變的。這裡簡單說說js裡this的定義,若有需要我可以開多一篇。
定義:this是包含它的函數作為方法被調用時所屬的對象。
特徵:this的環境可以隨著函數被賦值給不同的對象而改變!
有興趣的朋友可以網上找找資料瞭解一下,說回正題,這裡的_self目的是為了開多一個私人的變數,直接指向類的本身。
剛剛還說到一個解構函式的問題,這可以直接用代碼來實現。在函數的最後直接寫執行代碼就OK。
代碼 複製代碼 代碼如下:/***定義類***/
var Class = function(){
var _self = this;//把本身引用負值到一變數上
var _Field = "Test Field"; //私人欄位
var privateMethod = function(){ //私人方法
alert(_self.Property); //調用屬性
}
this.Property = "Test Property"; //公有屬性
this.Method = function(){ //公有方法
alert(_Field); //調用私用欄位
privateMethod(); //調用私用方法
}
/***解構函式***/
var init = function(){
privateMethod();
}
init();
}
使用這個類,引用我同事的那句“簡單得很!”
var c = new Class();
這樣就OK
類的定義就說完了,靜態類,要等到下一次了。因為有MM叫我去喝茶
一個人能夠走多遠,取決於與誰同行