javascript-封装-101

函数的创建与管理

一、减少污染全局变量

var checkName = function(){}
var checkPassword = function(){}
  • 1.1 用对象收编变量
var CheckObject = {
    checkName: function(){},
    checkPassword: function(){}
}
  • 1.2 用类的原型对象
var CheckObject = function(){}
CheckObject.prototype = {
    checkName: function(){
        return this;//链式调用
    },
    checkPassword: function(){
        return this;
    }
};//注意:不可与CheckObject.prototype.xxx混用了
//实例化
var check = new CheckObject();
check.checkName().checkPassword();
  • 1.3 优化动态添加方法
//Function.prototype.addMethod = function(name, fn){
//    this.prototype[name] = fn
//    return this;//链式添加
//}
//等同于上面
var Fun = function(){}
Fun.prototype.addMethod = function(name, fn){
    this.prototype[name] = fn
    return this;//链式添加
}
//实例化使用
var fn = new Fun();
fn.addMethod('checkName',function(){ return this;//链式调用 })
  .addMethod('checkPassword',function(){ return this; })
fn.checkName().checkPassword();