用函数创建对象、类创建对象,以及使用prototype的好处

用函数创建对象

var CheckObject = function(){};
CheckObject.checkName = function(){
    // 检验姓名
};
CheckObject.checkEmail = function(){
    // 检验邮箱
};
CheckObject.checkPassword = function(){
    // 检验密码
}

// 如果想方便复用的话:
var CheckObject = function(){
    return checkName:function(){
        // 检验姓名
    };
    return checkEmail:function(){
        // 检验邮箱
    };
    return checkPassword:function(){
        // 检验密码
    };
}
var a = CheckObject();
a.checkName();

用类创建对象

var CheckObject = function(){
    this.checkName:function(){
        // 检验姓名
    };
    this.checkEmail:function(){
        // 检验邮箱
    };
    this.checkPassword:function(){
        // 检验密码
    };
}
var a = new CheckObject();
a.checkName();

用这种方式创建对象缺点:新创建的对象都会对类的this上的属性方法进行复制,这样是非常消耗的。

所以使用prototype绑定方法:

var CheckObject = function(){}
CheckObject.prototype = {
    checkName:function(){
        // 检验姓名
    };
    checkEmail:function(){
        // 检验邮箱
    };
    checkPassword:function(){
        // 检验密码
    };
}
var a = new CheckObject();
a.checkName();

So:使用prototype绑定方法,可以避免每实例化一个对象时都会对类的this上的属性方法进行复制。因为它们最终都指向了类的对象原型prototype上的方法。

转载于:https://www.cnblogs.com/wujiaqi/p/10217110.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值