zoukankan      html  css  js  c++  java
  • 用函数创建对象、类创建对象,以及使用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上的方法。

  • 相关阅读:
    hdu3709(数位dp)
    2012天津E题
    2012天津C题
    hdu1754(splay)
    赤裸裸的splay平衡树
    hdu(预处理+线段树)
    uva11922(强行用rope替代spaly)
    lightoj 1370 欧拉函数
    poj3294 出现次数大于n/2 的公共子串
    poj2774 后缀数组2个字符串的最长公共子串
  • 原文地址:https://www.cnblogs.com/wujiaqi/p/10217110.html
Copyright © 2011-2022 走看看