实现JavaScript自定义函数的整合、链式调用及类的封装

https://www.cnblogs.com/staven/p/5319482.html

=========================返回对象:可以将这些方法放在一个函数对象中返回=================
---------类方式:------------
var checkObject  = function(){
    this.checkName = function(){
           console.log('检查用户名');
    }
    this.checkEmail = function(){
         console.log('检查邮箱地址');
    }
    this.checkPassword = function(){
        console.log('检查密码');
    }
}
var checkObj =new checkObject();
checkObj.checkName();

====================================================================================================


实现JavaScript自定义函数的整合、链式调用及类的封装
---------------函数声明形式:表单验证函数------------------

function checkName(){
    console.log('检查用户名');
}
function checkEmail(){
    console.log('检查邮箱地址');
}
function checkPassword(){
    console.log('检查密码');
}
 
checkName();
checkEmail();
checkPassword();


在团队开发中定义函数容易覆盖他人已经定义过的函数,将函数保存在一个变量里,这样就减少了原有功能被覆盖的风险。
----------------------函数字面量形式:--------------------
var checkName = function(){
    console.log('检查用户名');
}
var checkEmail = function(){
    console.log('检查邮箱地址');
}
var checkPassword = function(){
    console.log('检查密码');
}
checkName();
checkEmail();
checkPassword();

------------------对象属性形式:利用对象具有属性与方法的特性。 -------------------
var checkObject = {
    checkName:function(){
        console.log('检查用户名');
    },
    checkEmail:function(){
        console.log('检查邮箱地址');
    },
    checkPassword:function(){
        console.log('检查密码');
    }
     
};
checkObject.checkName();
checkObject.checkEmail();
checkObject.checkPassword();

-------------------------对象赋值形式:对象的另一种创建形式。---------------
var checkObject = function(){};
//var checkObject ={};
checkObject.checkName = function(){
    console.log('检查用户名');
}
checkObject.checkEmail = function(){
    console.log('检查邮箱地址');
}
checkObject.checkPassword = function(){
    console.log('检查密码');
}
checkObject.checkName();
checkObject.checkEmail();
checkObject.checkPassword();


--------------------返回对象:可以将这些方法放在一个函数对象中返回--------------
var checkObject = function(){
    return {
        checkName : function(){
            console.log('检查用户名');
        },
        checkEmail: function(){
            console.log('检查邮箱地址');
        },
        checkPassword: function(){
            console.log('检查密码');
        }
    }
};
var a = new checkObject();
a.checkName();
a.checkEmail();
a.checkPassword();
 每次调用这个函数时,都返回一个新对象,返回的checkObj对象与checkObject对象没有任何关系。
---------类方式:------------
var checkObject  = function(){
    this.checkName = function(){
           console.log('检查用户名');
    }
    this.checkEmail = function(){
         console.log('检查邮箱地址');
    }
    this.checkPassword = function(){
        console.log('检查密码');
    }
}
var checkObj =new checkObject();
checkObj.checkName();
每次通过new关键词创建新对象的时候,都会对类的this上的属性进行复制, 造成了不必要的内存消耗。
------------prototype原型:查找绑定方法-------------------
var checkObject  = function(){};
checkObject.prototype.checkName = function(){
     console.log('检查用户名');
}
checkObject.prototype.checkEmail = function(){
     console.log('检查邮箱地址');
}
checkObject.prototype.checkPassword = function(){
   console.log('检查密码');
}
---------------------链式调用:声明的每个方法末尾将当前对象返回。--------------
var checkObject  = {
    checkName : function(){
         //验证姓名
         return this;
    },
    checkEmail : function(){
         //验证邮箱
         return this;
    },
    checkPassword : function(){
         //验证密码
         return this;
    }
}
 链式调用:

checkObject.checkName().checkEmail().checkPassword();

放在原型对象里:
var checkObject  = function(){};
checkObject.prototype = {
    checkName : function(){
        //验证姓名
        return this;
    },
    checkEmail : function(){
        //验证邮箱
        return this;
    },
    checkPassword : function(){
        //验证密码
        return this;
    }
}
链式调用:
var checkObj = new checkObject();
checkObj.checkName().checkEmail().checkPassword();


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值