美文网首页
1.第一篇:面向对象编程

1.第一篇:面向对象编程

作者: 爱吃鱼的肥兔子 | 来源:发表于2018-11-15 15:46 被阅读0次

本文摘自 《JavaScript 设计模式》张容铭 著 版权归原作者所有

第1章 灵活的语言---JavaScript

1.1入职第一天

    function checkName(){
    // 验证姓名
    }
    function checkEmail(){
    // 验证邮箱
    }
    function checkPassword(){
    // 验证密码
    }

1.2函数的另一种形式

    var checkName = function(){
    // 验证姓名
    }
    var checkEmail = function(){
    // 验证邮箱
    }
    var checkPassword = function(){
    // 验证密码
    }

1.3用对象收编变量

    var checkObject = {
        checkName : function(){
        // 验证姓名
        }
        checkEmail : function(){
        // 验证邮箱
        }
        checkPassword : function(){
        // 验证密码
        }
    }

1.4对象的另一种形式

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

1.5真假对象

    var checkObject = function(){
        return {
            checkName:function(){
            // 验证姓名
            },
            checkEmail:function(){
            // 验证邮箱
            },
            checkPassword:function(){
            // 验证密码
            }
    
    }

这样执行过程中明面上是checkObject对象,实际是返回的新对象。
    var a = checkObject();
    a.checkName();

1.6类也可以

    var checkObject = function(){
        this.checkName = function(){
        //验证姓名
        },
        this.checkEmail = function(){
        // 验证邮箱
        },
        this.checkPassword = function(){
        // 验证密码
        }
    }

既然是个类,就要用new关键字来创建
var a = new checkObject();
a.checkName();

1.7一个检测类

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

1.8方法还可以这样用

var checkObject = {
    checkName:function(){
    // 验证姓名
    return this;
    },
    checkEmail:function(){
    // 验证邮箱
    return this;
    },
    checkPassword:function(){
    // 验证密码
    return this;
    }
};
  console.log(checkObject.checkName().checkEmail().checkPassword()) // {checkName: ƒ, checkEmail: ƒ, checkPassword: ƒ}
 
  console.log(checkObject.checkName().checkPassword) 
    //ƒ () {
      // 验证密码
      return this;
    }

也可以:

var checkObject = function(){};
checkObject.prototype = {
    checkName:function(){
    // 验证姓名
    return this;
    },
    checkEmail:function(){
    // 验证邮箱
    return this;
    },
    checkPassword:function(){
    // 验证密码
    return this;
    }
}
var a = new checkObject();
a.checkName();
a..checkName().checkPassword;

1.9函数的祖先

Function.prototype.checkName = function(){
    //  验证名称
}

var f = function(){};
f.checkName();

var f = new Function();
f.checkName();

但是这样直接污染了原生对象Function,所以不允许这样做,建议以下做法:

Function.prototype.addMethod = function(name,fn){
    this[name] = fn;
}
添加验证姓名的方法
var methods = function(){};
或者
var methods = new Function();
methods.addMethod('checkName',function(){
    //验证姓名
})
methods.checkName();

1.10链式添加

Function.prototype.addMethod = function(name,fn){
    this[name] = fn;
    return this;
}


var methods = function(){};
methods.addMethod('checkName',function(){
    //验证名称
}).addMethod('checkEmail',function(){
    // 验证邮箱
}) 
或者
var methods = function(){};
methods.addMethod('checkName',function(){
    return this;
}).addMethod('checkEmail',function(){
    return this;
})

methods.checkName().checkEmail();

换一种方式使用方法

Function.prototype.addMethod = function(){
    this.prototype[name] = fn;
    return this;
}

var Methods = function(){};
Methods.addMethod('checkName',function(){
    //验证名称
}).addMethod('checkEmail',function(){
    //验证邮箱
})

//实例这个对象 调用方法
var a = new Methods();
a.checkEmail();

相关文章

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • python-day14

    一、面向对象编程 编程思想:1.面向对象编程 --> 算法,逻辑2.函数式编程 --> 函数3.面向对象编程 ...

  • JavaScript学习笔记(一)

    Javascript面向对象 1. 面向对象编程介绍 1.1 两大编程思想 面向过程 & 面向对象 1.2 面向过...

  • 2017-08-14

    面向对象编程用对象的思想去写代码,就是面向对象编程-面向过程-面向对象面向对象编程的特点1.抽象 抽取一样的东西...

  • JavaScript面向对象

    1. 面向对象编程介绍 1.1 两大编程思想 面向过程 面向对象 1.2 面向过程编程 POP(Process-o...

  • 2018-10-17类和对象

    1⃣️面向对象编程 编程思想:1.面向过程编程 ---> 算法、逻辑2.函数式编程 --> 函数3.面向对象编...

  • 【设计模式】面向对象设计思想总结

    1. 什么是面向对象编程和面向对象编程语言 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单...

  • 4面向对象

    [TOC] 面向对象 1. 面向对象的基本概念 1.1 什么是面向对象编程。 准确的说面向对象编程我们叫 OOP....

  • 【北京分院一百七十一期】JS中的面向对象编程

    1.背景介绍 什么是面向对象编程? “面向对象编程”(Object OrientedProgramming,缩写为...

  • Python面向对象编程(一)

    一、面向对象编程 1. 面向对象编程和面向过程编程的区别 面向过程编程:机械思维,简化复杂的流程,可扩展性差面向对...

网友评论

      本文标题:1.第一篇:面向对象编程

      本文链接:https://www.haomeiwen.com/subject/qnpyfqtx.html