首页 > 代码库 > 一起来存方法

一起来存方法

很喜欢写一些小方法或伪代码模型存起来,以后就可以直接拿来用了,虽然还是菜鸟一只,但爷爷都是从孙子过来的嘛,下面贴上本周用到的几个小例子

##1.在动态渲染元素的时候,需要逻辑判断
  在循环渲染dom元素时,循环遍历中需要逻辑操作,如果不使用模板:

  var addList = function(){
    var lists= [],list="";
    $.each(data,function(i,item){
      if(条件1){
        list+="<li>"+$(item).val()+"</li>";
      }
      if(条件2){
        list+="<li>"+$(item).val()+"</li>";
      }
      lists.push(list);
    });
    $("#id").html(lists.join(""));
  }

  这是在看一同事代码时,发现她用push和join方法,渲染元素,觉得不多很显然即使正在渲染元素的循环中,可以方便的进行逻辑操作,用list+=即使渲染元素较多,也使得代码很规整;

##2.从一个json取相应属性创建另一个json对象

  var createJsonObj=function(data){
    var jsonObj = [];
    $.each(data,function(i,item){
      var innerObj = {
        key:"",
        value:""
      };
      innerObj.key = item.id;
      innerObj.value = http://www.mamicode.com/item.name;
      jsonObj.push(innerObj);
    });
    return jsonObj;
  }
  以上是创建一个[{“key”:"XXX","value":"XXX"},{“key”:"XXX","value":"XXX"}]的json对象的简单小例子,大家可以试试考虑更好的封装,将传入新对象的key值实现自定义。

##3.js获取日期的一些小操作
  这个网上也有很多例子,本周主要遇到下面两个操作

  var jsDate = {
    //获取当前2014-06-12 16:55格式日期
    getTime:function(date){
      var year ="",month="",day="",hour="",minute="",time="",oldday="";
      if(date){
        oldday=new Date(date.getTime()-3600*1000*24*7);
        year= oldday.getFullYear();
        month= oldday.getMonth()+1;
        day = oldday.getDate();
        hour = oldday.getHours();
        minute = oldday.getMinutes();
      }else{
        var now= new Date();
        year = now.getFullYear();
        month = now.getMonth()+1;
        day = now.getDate();
        hour = now.getHours();
        minute = now.getMinutes();
      }
      if(month<10){
        month=‘0‘+month;
      }
      if(day<10){
        day=‘0‘+day;
      }  
      if(hour<10){
        hour = ‘0‘ + hour;
      }
      if(minute<10){
        minute=‘0‘+minute
      }
      time = (year+"-"+month+"-"+day+" "+hour+":"+minute);
      return time;
    },

    // 计算相差n天日期
    subTime:function(date,n){
      date = new Date(date)
      date = date.valueOf()
      date = date - n * 24 * 60 * 60 * 1000
      date = new Date(date)
      date = jsDate.getTime(date);
      return date;
    }
  }
  上例主要是理清一些js时间的补零问题,以及取各个时间的获取演示

##4.逻辑判断多的时候,采用如下方式,规整代码

  var bo1 = false,bo2 = false,bo3=false;
  if(条件1){
    bo1 = false;
    逻辑操作1
  }
  if(条件2){
    bo2 = false;
    逻辑操作2
  }
  if(条件3){
    bo3 = false;
    逻辑操作3
  }
  if(bo1&&bo2){
    逻辑操作4
  }
  ...
  可能这种看起来更烦了,但可能个人习惯,偏爱这种

     此贴是6月份发于个人笔记里的,现在已有很多改进,还未整理...

一起来存方法