一餐禁、使用對象的原因
不會污染全局環(huán)境血久,和別人協(xié)同合作時,不會互相影響帮非。
所以氧吐,盡量使用對象來收編變量。
函數(shù)也是全局變量
將函數(shù)名保存到變量中末盔,你就很容易發(fā)現(xiàn)筑舅,函數(shù)也是全局變量
function checkName () {
// 驗證姓名
}
var checkName = function () {
// 驗證姓名
}
二、對象的兩種方式
方式一
var checkObject = {
checkName: function () {
// 驗證姓名
},
}
方式二
var checkObject = function () {};
checkObject.checkName = function () {
// 驗證姓名
}
三陨舱、類和原型
真假對象
新創(chuàng)建的對象和函數(shù)并沒有任何關(guān)系
var checkObject = function () {
return {
checkName: function () {
// 驗證姓名
},
}
}
var a = checkObject();
a.checkName()
類
var CheckObject = function () {
this.checkName = function () {
// 驗證姓名
}
}
var a = new CheckObject();
a.checkName();
原型
var CheckObject = function () {};
CheckObject.prototype.checkName = function () {
// 驗證姓名
}
var a = new CheckObject();
a.checkName();
var CheckObject = function () {};
CheckObject.prototype = {
checkName: function () {
// 驗證姓名
},
}
var a = new CheckObject();
a.checkName();
四翠拣、函數(shù)原生對象
Function.prototype.checkName = function () {
// 驗證姓名
}
var a = function () {};
a.checkName();
var b = new Function();
b.checkName();
上述做法會污染原生對象Function
,所以換一種方式添加方法
Function.prototype.addMethod = function (name, fn) {
this[name] = fn;
}
var a = function () {};
var b = new Function();
a.addMethod('checkName', function () {
// 驗證姓名
});
b.addMethod('checkEmail', function () {
// 驗證郵箱
});
a.checkName();
b.checkEmail();
五游盲、鏈?zhǔn)秸{(diào)用
對象
var checkObject = {
checkName: function () {
// 驗證姓名
return this;
},
checkEmail: function () {
// 驗證郵箱
return this;
},
}
checkObject.checkName().checkEmail();
原型
var CheckObject = function () {};
CheckObject.prototype = {
checkName: function () {
// 驗證姓名
return this;
},
checkEmail: function () {
// 驗證郵箱
return this;
},
}
var a = new CheckObject();
a.checkName().checkEmail();
函數(shù)原生對象添加方法
Function.prototype.addMethod = function (name, fn) {
this[name] = fn;
return this;
}
var a = function () {};
a.addMethod('checkName', function () {
// 驗證姓名
return this;
}).addMethod('checkEmail', function () {
// 驗證郵箱
return this;
});
a.checkName().checkEmail();