js設計模式第一章 讀書筆記
阿新 • • 發佈:2018-11-03
1、簡單的驗證js
function checkName(){
//驗證姓名
}
function checkEmail(){
//驗證郵箱
}
function checkPassword(){
//驗證密碼
}
上面的程式碼,建立了3個全域性變數,有可能被別人覆蓋,或者把別人的程式碼覆蓋。怎麼減少被覆蓋的問題呢?如下:
2、用物件收編變數
var CheckObject = function(){} CheckObject.checkName = function(){ //驗證姓名 } checkObject.CheckEmail = function(){ //驗證郵箱 } checkObject.checkPassword = function(){ //驗證密碼 }
這樣還是有問題,用new建立新的物件時,新建立的物件不能繼承這些方法。怎麼辦?如下:
3、類
var CheckObject = function(){
this.checkName = function(){
//驗證姓名
}
this.checkEmail = function(){
//驗證郵箱
}
this.checkPassword = function(){
//驗證密碼
}
}
var a = new CheckObject();
a.checkEmail();
每次new時候會對類的this屬性進行復制,但是造成的消耗也很大。怎麼解決?如下:
4、原型
var CheckObject = function(){}
CheckObject.prototype.checkName = function(){
//驗證姓名
}
CheckObject.prototype.checkEmail = function(){
//驗證郵箱
}
CheckObject.prototype.checkPassword = function(){
//驗證密碼
}
var a = new CheckObject();
a.checkEmail();
這樣創建出來的物件所擁有的方法就是一個了,因為它們都要依賴 prototype原型依次尋找,而找到的方法都是同一個,它們都繫結在CheckObject物件類的原型上。
請大神多多指教 qq:274501366