一起来存方法

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

##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月份发于个人笔记里的,现在已有很多改进,还未整理...

时间: 2024-11-13 08:51:37

一起来存方法的相关文章

iOS开发&gt;学无止境 - 方法缓存

摘要 只 要用到Objective-C,我们每天都会跟方法调用打交道.我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到 的,方法缓存又是怎么运作的却鲜为人知.本文主要从源码角度探究了Objective-C在runtime层的方法决议(Method resolving)过程和方法缓存(Method cache)的实现. 简介 本文作者来自美团酒店旅游事业群iOS研发组.我们致力于创造价值.提升效率.追求卓越.欢迎大家加入我们(简历请发送到邮箱 [email pr

访问修饰限定符的简单总结、final/abstruct/interface对类的限制、自动加载机制、序列化与反序列化【数据持久化和对象的序列化问题】、对象的拷贝(按引用是因为对象标识)和克隆(__clone方法中的this指向)

1.针对访问修饰限定符的理解只需要两点:(1)针对的是类的概念和访问代码的位置来确定是否能够访问(2)对访问修饰限定符的使用时只需要对该成员的使用场景注意即可[也就是内部,继承类,外部进行访问的权限] 不需要对内部进行太多理解[需要对php底层理解时进行理解] [重点][用途]通过访问修饰限定符将内部成员的权限合理的限制,然后再使用公共接口来调用这个基本服务,保证外部不能访问其内部的构件[这样既能够通过类内的设置,将内部的功能实现更好的限制,只有最外层的接口可以正常被访问到,而不了解内部的业务]

Objective-C:方法缓存

摘要 只 要用到Objective-C,我们每天都会跟方法调用打交道.我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到 的,方法缓存又是怎么运作的却鲜为人知.本文主要从源码角度探究了Objective-C在runtime层的方法决议(Method resolving)过程和方法缓存(Method cache)的实现. 简介 本文作者来自美团酒店旅游事业群iOS研发组.我们致力于创造价值.提升效率.追求卓越.欢迎大家加入我们(简历请发送到邮箱 [email pr

iOS 视图:重绘与UIScrollView(内容根据iOS编程编写)

我们继续之前的 Hypnosister 应用,当用户开始触摸的时候,圆形的颜色会改变. 首先,在 JXHypnosisView 头文件中声明一个属性,用来表示圆形的颜色. #import "JXHypnosisView.h" @interface JXHypnosisView () /** 颜色 */ @property (nonatomic,strong) UIColor * circleColor; @end @implementation JXHypnosisView - (in

jvm 学习

1.JVM内存管理的机制 内存空间划分为:Sun JDK在实现时遵照JVM规范,将内存空间划分为堆.JVM方法栈.方法区.本地方法栈.PC寄存器. 堆: 堆用于存储对象实例及数组值,可以认为Java中所有通过new创建的对象的内存都在此分配,Heap中对象所占用的内存由GC进行回收,在32位操作系统上最大为2GB,在64位操作系统上则没有限制,其大小可通过-Xms和-Xmx来控制,-Xms为JVM启动时申请的最小Heap内存,默认为物理内存的1/64但小于1GB:-Xmx为JVM可申请的最大He

Func的介绍

经常看到  Func<int, bool>...这样的写法,看到这样的就没有心思看下去了.我们学技术还是需要静下心来. 对Func<int,bool>的Func转到定义看它的解释: // 摘要: // 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法. // // 参数: // arg: // 此委托封装的方法的参数. // // 类型参数: // T: // 此委托封装的方法的参数类型. // // TResult: // 此委托封装的方法的返回值类型. //

python2.0_s12_day9之day8遗留知识(queue队列&amp;生产者消费者模型)

4.线程 1.语法 2.join 3.线程锁之Lock\Rlock\信号量 4.将线程变为守护进程 5.Event事件 * 6.queue队列 * 7.生产者消费者模型 4.6 queue队列 queue非常有用,当信息必须安全的在多个线程之间进行数据交换的时候就应该想到queue 所以,queue它能保证数据被安全的在多个线程之间进行交换,那他就是天生的线程安全. queue有那么几种: class queue.Queue(maxsize=0) # 先入先出 class queue.LifoQ

深入理解Objective-C:优化你的代码

开篇 只要用到Objective-C,我们每天都会跟方法调用打交道.我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到的,方法缓存又是怎么运作的却鲜为人知. 本文主要从源码角度探究了Objective-C在runtime层的方法决议(Method resolving)过程和方法缓存(Method cache)的实现. 介绍 本文系学习Objective-C的runtime源码时整理所成,主要剖析了Objective-C在runtime层的方法决议过程和方法缓存.

实例变量和属性

实例变量和属性 声明 Person 文件中 @interface Person : NSObject { NSString *_name; //实例变量 } @property(copy) NSString *firstName; //属性 @property(copy) NSString *lastName; @end _name 是实例变量,实例变量是类私有的变量,其他类对象无法直接访问: 写在头文件中的 firstName是属性,public,其他类对象可以直接访问:写在m文件中的属性是p