标签:
很喜欢写一些小方法或伪代码模型存起来,以后就可以直接拿来用了,虽然还是菜鸟一只,但爷爷都是从孙子过来的嘛,下面贴上本周用到的几个小例子
##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 = 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月份发于个人笔记里的,现在已有很多改进,还未整理...
标签:
原文地址:http://www.cnblogs.com/jyjin/p/4180432.html