分享

Javascript综合手册

 阿白mvo3hep7cv 2020-05-02

1.Javascript一维数组、二维数组

「一维数组」

1) var mycars=new Array()

    mycars[0]='Saab'
    mycars[1]='Volvo'
    mycars[2]='BMW'

2) var mycars=new Array('Saab','Volvo','BMW')

3) var mycars=['Saab','Volvo','BMW'];

「二维数组」用一维数组来模拟

1) var   arr   =   new   Array(['a','b','c'],['d','e','f']);     

2) arr=new   Array();   
    for(i=0;i<100;i++) {   
         arr[i]=new   Array(...);   
    }

3) var  arr=new   Array(   
      new   Array(),   
      new   Array(),   
      new   Array()   
     );

2.截取最后一个字符

  str1=str1.substr(0,str1.length-1);

3.ReplaceAll

str=str.replace(/,/g,''); //去掉所有逗号 

4.浮点数计算误差

15.12*15=226.79999999999998

解决方式:(15.12*15).toFixed(2)=226.80

5.判断“截止日期必须晚于今天”[javascripts]

复制代码
alert(Date.parse(('2011-5-31').replace('-','/'))>Date.parse(Date())
复制代码

  Date();//系统的当前日期时间

  Date.parse(date);//把日期时间转化为数值,转化后可以比较大小

  ('2011-5-31').replace('-','/');//javascript的Date函数不支持 '2011-5-31 ' 写法

下面列举javascript的Date函数的写法支持情况:

new Date('2000/01/02');//输出Sun Jan 2 00:00:00 UTC+0800 2000  
Date('2000/01/02');//输出Wed Dec 05 10:18:33 2007,此处输出的是系统的当前时间  
new Date('2000-01-02');//输出NaN  
Date('2000-01-02');//输出Wed Dec 05 10:18:33 2007,此处输出的是系统的当前时间

 6.日期加减

复制代码
function dateDiff(interval, date1, date2){var objInterval = {'D' : 1000 * 60 * 60 * 24, 'H' : 1000 * 60 * 60,                           'M' : 1000 * 60, 'S' : 1000, 'T' : 1};        interval = interval.toUpperCase();        var dt1 = Date.parse(date1.replace(/-/g, '/'));        var dt2 = Date.parse(date2.replace(/-/g, '/'));        try        {            return Math.round((dt2 - dt1) / eval('(objInterval.' + interval + ')'));        }        catch (e)        {            return e.message;        }}
复制代码

调用实例:

复制代码
var year0=document.getElementById('计划转正时间').value; var now=new Date();var bnow=now.getFullYear()+'-1-1'; //本年第一天var enow=now.getFullYear()+'-12-31'; //本年最后一天var fnow=dateDiff('D',bnow,enow); //本年全年日期var s=year0.split('-');var yy0=parseInt(s[0]); var mm=parseInt(s[1]-1);var yy1=yy0+1;var yy10=yy0+10;var yy20=yy0+20;var dd=parseInt(s[2]);var zz1 = new Date(yy1,mm,dd); var zz10= new Date(yy10,mm,dd);var zz20=new Date(yy20,mm,dd);var year1=zz1.getFullYear()+'-'+(zz1.getMonth()+1)+'-'+zz1.getDate(); //转正1年var year10=zz10.getFullYear()+'-'+(zz10.getMonth()+1)+'-'+zz10.getDate(); //转正10年var year20=zz20.getFullYear()+'-'+(zz20.getMonth()+1)+'-'+zz20.getDate(); //转正20年var day1=dateDiff('D', bnow, year1); //若已满1年,未满1年天数var eday1=dateDiff('D', year1,enow ); //若已满1年,已满1年天数var day10=dateDiff('D',bnow,year10); //若已满10年,未满10年天数var eday10=dateDiff('D', year10, enow); //若已满10年,已满10年天数var day20=dateDiff('D',bnow,year20); //若已满20年,未满20年天数var eday20=dateDiff('D', year20, enow);if(day20<=0) //超过20年{document.getElementById('共计年假').value='15';}else if(day20>0 && day20<fnow) //本年内满20年转正,未满部分按10年计入年假,已满部分按20年计入年假{document.getElementById('共计年假').value=parseInt(day20/365*10)+parseInt(eday20/365*15);}else if(day10<=0) //超过10年{document.getElementById('共计年假').value='10';}else if(day10>0 && day10<fnow) //本年内满10年转正,未满部分按1年计入年假,已满部分按10年计入年假{document.getElementById('共计年假').value=parseInt(day10/fnow*5)+parseInt(eday10/fnow*10);}else if(day1<=0) //超过1年{document.getElementById('共计年假').value='5';}else if(day1>0 && day1<fnow) //已满1年转正,未满部分不计入年假,已满部分计入年假{document.getElementById('共计年假').value=parseInt(eday1/fnow*5);}
复制代码

 调用实例2:

复制代码
function setleaveday1(){var bdate=document.getElementById('结束时间').value;var now=new Date();var cnow=now.getFullYear()+'-'+(now.getMonth()+1)+'-'+now.getDate();var day1=dateDiff('D', cnow, bdate);  if(day1<-2){alert('请假申请日期不能大于过去2天!');document.getElementById('结束时间').value='';}}
复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多