• js常用写法


    时间戳:

    获取时间戳的方法:
    1、(new Date("2017/04/14")).valueOf()
    2、Date.parse(new Date("2017/04/14"))
    3new Date("2017/04/14").getTime()
    4、+new Date("2017/04/14")
    
    时间戳对比:
    new Date('2016/09/03')的时间为:2016-09-03
    new Date(2016, 9, 3)的时间为:2016-10-03,加了一个月

    判断:

    if(result){
      console.log('aaaa')
    };
    可写成:
    result&&console.log('aaaa')
    
    if(!result){
      console.log('aaaa')
    };
    可写成:
    result||console.log('aaaa')

    条件选择:

    if(result=="yes"){
      a="111";
    }else{
      a="000";
    }
    可写成:
    a=result=="yes"?"111":"000";


    去除数组中的undefind:

    var a=[2,5,undefind,6,8,undefined,9];
    var b=[];
    for(var i=0;i<a.length;i++){
      if(a[i]!=undefined){
        b.push(a[i])
      }
    };
    可写成:
    var a=[2,5,undefind,6,8,undefined,9];
    a=a.filter(function(){
      return true;
    })

    把数组中值的空隔换成其他:

    var data=[2009/10/18 6:00', '2009/10/18 7:00', '2009/10/18 8:00']
    data.map(function (str) {return str.replace(' ', '
    ') });
    console.log(data)

    判断元素是否在数组中:

    var a=[48,56,65,77,6,80,92]; 
    for(var i in a){ 
       if(i===6){ 
          console.log("包含6"); 
       } 
    };
    可写成:
    var a=[48,56,65,77,6,80,92]; 
    a.indexOf(6)>-1 && console.log("包含6");

    return布尔值时:

    (function (){ 
       if (age > 18) {
          return true;
       } else {
          return false;
       }
    })();
    可写成
    (function (){
       return age > 18;
    })();

    if不嵌套if:

    if (user.id === 10) {
       if (user.name !== "") {
          if (user.email === "email") {
             //do something...
          }
       }
    }
    可写成:
    if(user.id === 10 && user.name !=="" && user.email === "email") {
       //do something...
    }

    固定范围内的取值,超出取 最大值|最小值:

    (function(){
      var a=120;
      if(a>100){
        a=100;
      }else if(a<0){
        a=0;
      }
      alert(a);
    }());
    可写成:
    (function(){
      var a=120;
      a=Math.min(100,Math.max(a,0));
      alert(a);
    }())

    取指定范围内的随机数:

    Math.random()*(min-max)+max

    jquery 创建div的方法:

    $('<div>',{
      id:'ddd',
      class:'bbb',
      css:{'300px',height:'200px',backgroundColor:'#333'}
    })

    tab形式的iframe:

    <table cellpadding="0" cellspacing="0">
     <tr>
      <td><a href="a.html" target="fx">aaa</a></td>
      <td><a href="b.html" target="fx">bbb</a></td>
     </tr>
    </table>
    <iframe name="fx" id="fx" src="a.html" width="100px" frameborder="0" scrolling="no"></iframe>    

    防止被Iframe嵌套:

    if(top != self){
        location.href = ”about:blank”;
    }

    用json替换switch:

    (function(){
      var a=1,b;
      switch(a)
      {
        case 1:
          b='苹果';
          break;
        case 2:
          b='桔子';
          break;
        case 3:
          b='香蕉';
          break;
        case 4:
          b='梨子';
          break;
      }
      console.log(b)
    }())
    ==>
    (function(){
      var obj={1:'苹果',2:'桔子',3:'香蕉',4:'梨子'},a=4;
      console.log(obj[a])
    }())

     json排序

    var grades = [
      {
        "name": "张三",
        "grade": 95
      },
      {
        "name": "李四",
        "grade": 62
      },
      {
        "name": "王五",
        "grade": 86
      }
    ];
    grades.sort(function(a, b) { return a.grade - b.grade })

     禁用右键菜单:

    $(document).ready(function(){
      $(document).bind("contextmenu",function(e){
        return false;
      });
    });
  • 相关阅读:
    Maven的settings.xml配置详解
    Activiti创建表(三)
    解决报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized
    解决报错(Could not create connection to database server.)
    Activiti插件安装(二)
    2018年四川理工学院软件工程考试大纲(软件工程概述)
    通过myclipse建立一个简单的Hibernate项目(PS:在单元测试中实现数据的向表的插入)
    MySQL如何永久解决由dos编码格式导致MySQ的显示乱码
    nyoj 209 + poj 2492 A Bug's Life (并查集)
    nyoj 208 + poj 1456 Supermarket (贪心)
  • 原文地址:https://www.cnblogs.com/kerry-xu/p/6709107.html
Copyright © 2020-2023  润新知