zoukankan      html  css  js  c++  java
  • 3.js模式-策略模式

    1. 策略模式

    策略模式定义一系列的算法,把它们封装起来,并且可以互相替换。

    var strategies = {

          isNonEmpty: function(value,errMsg){

                 if(value === ''){

                        return errMsg;

                 }

          },

          minLength:function(value,length,errMsg){

                 if(value.length < length){

                        return errMsg;

                 }

          }

    }

    var validator = function(){

          this.cache = [];

    }

    validator.prototype.add = function(dom,rule,errMsg){

          var array = rule.split(':');

          this.cache.push(function(){

                 var strategy = array.shift();

                 array.unshift(dom.value);

                 array.push(errMsg);

                 return strategies[strategy].apply(dom, array);

          });

    }

    validator.prototype.validate = function(){

          for(var i =0,validatorFunc;validatorFunc=this.cache[i++];){

                 var msg = validatorFunc();

                 if(msg){

                        return msg;

                 }

          }

    }

    validator.add(form.name,'isNonEmpty','用户名不能为空');

    validator.add(form.name,'minLength:10','用户名不能为空');

    validator.validate();

  • 相关阅读:
    Openflow1.3
    10行Python代码实现人脸定位
    Ubuntu安装Docker
    docker 命令部分
    tf.truncated_normal和tf.random_normal使用方法的区别
    Tensorboard服务激活
    Tensorflow基础
    TFRecords转化和读取
    卷积层+池化层的理解
    TensorFlow实现LeNet5模型
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869711.html
Copyright © 2011-2022 走看看