1.1函數基本形式(全局變量)
function checkName(){ //驗證姓名
}
function checkEmail(){ //驗證郵箱
}
function checkPassword(){ //驗證密碼
}
1.2函數的另一種形式 (全局變量)
var checkName =function(){ //驗證姓名
}
var checkEmail = function(){ //驗證郵箱
}
var checkPassword=function(){ //驗證密碼
}
上面聲明瞭多個函數也就是多個全局變量,當多人協作時,如果別人也定義了同樣的方法或者自己定義了很多方法,就容易存在被覆蓋的風險,且這種相互覆蓋的問題是不容易察覺的。所以可以將它們放在一個變量裏保存,這樣就可以減少覆蓋或被覆蓋的風險,當然一旦被覆蓋所有的功能都會失效,但這種現象很明顯也容易察覺。
1.3 用對象收編變量:
可以創建一個檢測對象,然後把函數方法放在裏面:
var CheckObject={
checkName: function(){ //驗證姓名
},
checkEmail:function(){ //驗證郵箱
},
checkPassword:function(){ //驗證密碼
}
}
這裏我們將所有函數作爲CheckObject 對象的方法,這樣我們就只有一個對象,而我們要想使用它們也很簡單,比如檢測姓名CheckObejct.checkName(),只是在我們原來使用的函數式前面多了個對象名稱。
1.4 對象的另一種形式:
在JS中函數也是一種對象,所以可以有如下寫法:
var CheckObject = function(){};
CheckObject.checkName = function(){
//驗證姓名
}
CheckObject.checkEmail = function(){
//驗證郵箱
}
CheckObject.checkPassword=function(){
//驗證密碼
}
使用和前面的方式是一樣的,比如CheckObject.checkName(),但這個對象類在用new 關鍵字創建新的對象時,新創建的對象是不能繼承這些方法的。
1.5 真假對象
如果想簡單得複製對象,可以將這些方法放在一個函數對象中:
var CheckObject = function(){
return {
checkName:function(){
//驗證姓名
},
checkEmail:function(){
//驗證郵箱
},
checkPassword:function(){
//驗證密碼
}
}
}
var a = CheckObject();
a.checkEmail();